/**
 * 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 { FacetColumnResult } from './FacetColumnResult';
import type { SumFileSizes } from './SumFileSizes';
import type { ActionRequiredCount } from './ActionRequiredCount';
import type { ColumnModel } from './ColumnModel';
import type { TableQueryResult } from './TableQueryResult';
import type { TableSelectColumn } from './TableSelectColumn';
/**
 * A bundle of information about a query result.
 * @export
 * @interface QueryResultBundle
 */
export interface QueryResultBundle {
    /**
     *
     * @type {string}
     * @memberof QueryResultBundle
     */
    concreteType: QueryResultBundleConcreteTypeEnum;
    /**
     *
     * @type {TableQueryResult}
     * @memberof QueryResultBundle
     */
    queryResult?: TableQueryResult;
    /**
     * The total number of rows that match the query. Use mask = 0x2 to include in the bundle.
     * @type {number}
     * @memberof QueryResultBundle
     */
    queryCount?: number;
    /**
     * The list of SelectColumns from the select clause. Use mask = 0x4 to include in the bundle.
     * @type {Array<TableSelectColumn>}
     * @memberof QueryResultBundle
     */
    selectColumns?: Array<TableSelectColumn>;
    /**
     * The maximum number of rows that can be retrieved in a single call.  This is a function of the columns that are selected in the query. Use mask = 0x8 to include in the bundle.
     * @type {number}
     * @memberof QueryResultBundle
     */
    maxRowsPerPage?: number;
    /**
     * The list of ColumnModels for the table. Use mask = 0x10 to include in the bundle.
     * @type {Array<ColumnModel>}
     * @memberof QueryResultBundle
     */
    columnModels?: Array<ColumnModel>;
    /**
     * The list of facets for the search results
     * @type {Array<FacetColumnResult>}
     * @memberof QueryResultBundle
     */
    facets?: Array<FacetColumnResult>;
    /**
     *
     * @type {SumFileSizes}
     * @memberof QueryResultBundle
     */
    sumFileSizes?: SumFileSizes;
    /**
     * The date-time when this table/view was last updated. Note: Since views are eventually consistent a view might still be out-of-date even if it was recently updated. Use mask = 0x80 to include in the bundle.
     * @type {string}
     * @memberof QueryResultBundle
     */
    lastUpdatedOn?: string;
    /**
     * The SQL that is combination of a the input SQL, FacetRequests, AdditionalFilters, Sorting, and Pagination. Use mask = 0x100 to include in the bundle.
     * @type {string}
     * @memberof QueryResultBundle
     */
    combinedSql?: string;
    /**
     * The first 50 actions required to download the files that are part of the query. Use mask = 0x200 to include them in the bundle.
     * @type {Array<ActionRequiredCount>}
     * @memberof QueryResultBundle
     */
    actionsRequired?: Array<ActionRequiredCount>;
}
/**
 * @export
 */
export declare const QueryResultBundleConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_table_QueryResultBundle: "org.sagebionetworks.repo.model.table.QueryResultBundle";
};
export type QueryResultBundleConcreteTypeEnum = typeof QueryResultBundleConcreteTypeEnum[keyof typeof QueryResultBundleConcreteTypeEnum];
/**
 * Check if a given object implements the QueryResultBundle interface.
 */
export declare function instanceOfQueryResultBundle(value: object): value is QueryResultBundle;
export declare function QueryResultBundleFromJSON(json: any): QueryResultBundle;
export declare function QueryResultBundleFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueryResultBundle;
export declare function QueryResultBundleToJSON(json: any): QueryResultBundle;
export declare function QueryResultBundleToJSONTyped(value?: QueryResultBundle | null, ignoreDiscriminator?: boolean): any;
