import { QueryResultsV2026R0 } from '../schemas/v2026R0/queryResultsV2026R0.js';
import { BoxVersionHeaderV2026R0 } from '../parameters/v2026R0/boxVersionHeaderV2026R0.js';
import { QueryRequestBodyV2026R0 } from '../schemas/v2026R0/queryRequestBodyV2026R0.js';
import { QueryInsightsV2026R0 } from '../schemas/v2026R0/queryInsightsV2026R0.js';
import { QueryInsightsRequestBodyV2026R0 } from '../schemas/v2026R0/queryInsightsRequestBodyV2026R0.js';
import { Authentication } from '../networking/auth.js';
import { NetworkSession } from '../networking/network.js';
import { CancellationToken } from '../internal/utils.js';
export declare class CreateQueryV2026R0Optionals {
    readonly headers: CreateQueryV2026R0Headers;
    readonly cancellationToken?: CancellationToken;
    constructor(fields: Omit<CreateQueryV2026R0Optionals, 'headers' | 'cancellationToken'> & Partial<Pick<CreateQueryV2026R0Optionals, 'headers' | 'cancellationToken'>>);
}
export interface CreateQueryV2026R0OptionalsInput {
    readonly headers?: CreateQueryV2026R0Headers;
    readonly cancellationToken?: CancellationToken;
}
export declare class CreateQueryInsightV2026R0Optionals {
    readonly headers: CreateQueryInsightV2026R0Headers;
    readonly cancellationToken?: CancellationToken;
    constructor(fields: Omit<CreateQueryInsightV2026R0Optionals, 'headers' | 'cancellationToken'> & Partial<Pick<CreateQueryInsightV2026R0Optionals, 'headers' | 'cancellationToken'>>);
}
export interface CreateQueryInsightV2026R0OptionalsInput {
    readonly headers?: CreateQueryInsightV2026R0Headers;
    readonly cancellationToken?: CancellationToken;
}
export declare class CreateQueryV2026R0Headers {
    /**
     * Version header. */
    readonly boxVersion: BoxVersionHeaderV2026R0;
    /**
     * Extra headers that will be included in the HTTP request. */
    readonly extraHeaders?: {
        readonly [key: string]: undefined | string;
    };
    constructor(fields: Omit<CreateQueryV2026R0Headers, 'boxVersion' | 'extraHeaders'> & Partial<Pick<CreateQueryV2026R0Headers, 'boxVersion' | 'extraHeaders'>>);
}
export interface CreateQueryV2026R0HeadersInput {
    /**
     * Version header. */
    readonly boxVersion?: BoxVersionHeaderV2026R0;
    /**
     * Extra headers that will be included in the HTTP request. */
    readonly extraHeaders?: {
        readonly [key: string]: undefined | string;
    };
}
export declare class CreateQueryInsightV2026R0Headers {
    /**
     * Version header. */
    readonly boxVersion: BoxVersionHeaderV2026R0;
    /**
     * Extra headers that will be included in the HTTP request. */
    readonly extraHeaders?: {
        readonly [key: string]: undefined | string;
    };
    constructor(fields: Omit<CreateQueryInsightV2026R0Headers, 'boxVersion' | 'extraHeaders'> & Partial<Pick<CreateQueryInsightV2026R0Headers, 'boxVersion' | 'extraHeaders'>>);
}
export interface CreateQueryInsightV2026R0HeadersInput {
    /**
     * Version header. */
    readonly boxVersion?: BoxVersionHeaderV2026R0;
    /**
     * Extra headers that will be included in the HTTP request. */
    readonly extraHeaders?: {
        readonly [key: string]: undefined | string;
    };
}
export declare class QueryManager {
    readonly auth?: Authentication;
    readonly networkSession: NetworkSession;
    constructor(fields: Omit<QueryManager, 'networkSession' | 'createQueryV2026R0' | 'createQueryInsightV2026R0'> & Partial<Pick<QueryManager, 'networkSession'>>);
    /**
     * Runs a query to discover Box items using a logical predicate that can filter
     * across item fields and metadata templates. Results can be sorted, paginated,
     * and shaped to include additional item or metadata fields.
     * @param {QueryRequestBodyV2026R0} requestBody Request body of createQueryV2026R0 method
     * @param {CreateQueryV2026R0OptionalsInput} optionalsInput
     * @returns {Promise<QueryResultsV2026R0>}
     */
    createQueryV2026R0(requestBody: QueryRequestBodyV2026R0, optionalsInput?: CreateQueryV2026R0OptionalsInput): Promise<QueryResultsV2026R0>;
    /**
     * Computes aggregated metrics over Box items matching a query predicate.
     * Filters are applied first, followed by optional grouping, after which the
     * requested metrics (such as `sum`, `avg`, `min`, `max`, and `count`) are
     * computed for each resulting group or over the entire filtered dataset.
     * @param {QueryInsightsRequestBodyV2026R0} requestBody Request body of createQueryInsightV2026R0 method
     * @param {CreateQueryInsightV2026R0OptionalsInput} optionalsInput
     * @returns {Promise<QueryInsightsV2026R0>}
     */
    createQueryInsightV2026R0(requestBody: QueryInsightsRequestBodyV2026R0, optionalsInput?: CreateQueryInsightV2026R0OptionalsInput): Promise<QueryInsightsV2026R0>;
}
export interface QueryManagerInput {
    readonly auth?: Authentication;
    readonly networkSession?: NetworkSession;
}
//# sourceMappingURL=query.d.ts.map