/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Filter } from './Filter';
import type { SelectItem } from './SelectItem';
/**
 * Defines a structured query using JSON SelectItems and Filters objects - NOT SQL syntax. Use the predefined SelectItems and Filters with specific concreteType values.
 * @export
 * @interface QueryQuery
 */
export interface QueryQuery {
    /**
     * One or more SelectItem is required to define the columns that will be returned by this query.  Each SelectItem must be a complete JSON object with the required 'concreteType' property. IMPORTANT: Do not use SQL syntax - use the predefined SelectItem objects. Examples: To select all columns: {"concreteType":"org.sagebionetworks.repo.model.grid..query.SelectAll"}. To select the count of the number of rows use: {"concreteType":"org.sagebionetworks.repo.model.grid.query.function.CountStar"}
     * @type {Array<SelectItem>}
     * @memberof QueryQuery
     */
    columnSelection?: Array<SelectItem>;
    /**
     * Optional. Each filter must be a complete JSON object with the required 'concreteType' property. IMPORTANT: Do not use SQL syntax - use the predefined filter objects. Examples: To find invalid rows: [{"concreteType":"org.sagebionetworks.repo.model.grid.query.RowIsValidFilter","value":false}]. To find rows where 'age' > 25: [{"concreteType":"org.sagebionetworks.repo.model.grid.query.CellValueFilter","columnName":"age","operator":"GREATER_THAN","value":[25]}]. Multiple filters are combined with AND logic.
     * @type {Array<Filter>}
     * @memberof QueryQuery
     */
    filters?: Array<Filter>;
    /**
     * Required. Limit of the number of rows returned to avoid loading more data than needed into your context window.
     * @type {number}
     * @memberof QueryQuery
     */
    limit?: number;
    /**
     * Optional. specifies the offset of the first row to return.
     * @type {number}
     * @memberof QueryQuery
     */
    offset?: number;
    /**
     * When false, the 'allValidationMessages' array in the response will be omitted to save tokens. Defaults to false.
     * @type {boolean}
     * @memberof QueryQuery
     */
    includeValidationMessages?: boolean;
}
/**
 * Check if a given object implements the QueryQuery interface.
 */
export declare function instanceOfQueryQuery(value: object): value is QueryQuery;
export declare function QueryQueryFromJSON(json: any): QueryQuery;
export declare function QueryQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueryQuery;
export declare function QueryQueryToJSON(json: any): QueryQuery;
export declare function QueryQueryToJSONTyped(value?: QueryQuery | null, ignoreDiscriminator?: boolean): any;
