// This file was auto-generated by Fern from our API Definition.

import type * as Vapi from "../index.js";

export interface JsonQueryOnCallTableWithStructuredOutputColumn {
    /** This is the type of query. Only allowed type is "vapiql-json". */
    type: Vapi.JsonQueryOnCallTableWithStructuredOutputColumnType;
    /** This is the table that will be queried. */
    table: Vapi.JsonQueryOnCallTableWithStructuredOutputColumnTable;
    /**
     * This is the filters to apply to the insight.
     * The discriminator automatically selects the correct filter type based on column and operator.
     */
    filters?: Vapi.JsonQueryOnCallTableWithStructuredOutputColumnFiltersItem[] | undefined;
    /**
     * This is the column that will be queried in the call table.
     * Structured Output Type columns are only to query on artifact.structuredOutputs[OutputID] column.
     */
    column: Vapi.JsonQueryOnCallTableWithStructuredOutputColumnColumn;
    /**
     * This is the aggregation operation to perform on the column.
     * When the column is a structured output type, the operation depends on the value of the structured output.
     * If the structured output is a string or boolean, the operation must be "count".
     * If the structured output is a number, the operation can be "average", "sum", "min", or "max".
     */
    operation: Vapi.JsonQueryOnCallTableWithStructuredOutputColumnOperation;
    /**
     * This is the name of the query.
     * It will be used to label the query in the insight board on the UI.
     */
    name?: string | undefined;
}
