import type { ClientContext } from "../ClientContext.js";
import type { PartitionedQueryExecutionInfo } from "../request/ErrorResponse.js";
import type { FeedOptions } from "../request/FeedOptions.js";
import type { DocumentProducer } from "./documentProducer.js";
import type { ExecutionContext } from "./ExecutionContext.js";
import type { Response } from "../request/index.js";
import { ParallelQueryExecutionContextBase } from "./parallelQueryExecutionContextBase.js";
import type { SqlQuerySpec } from "./SqlQuerySpec.js";
/** @hidden */
export declare class OrderByQueryExecutionContext extends ParallelQueryExecutionContextBase implements ExecutionContext {
    /**
     * Provides the OrderByQueryExecutionContext.
     * This class is capable of handling orderby queries and dervives from ParallelQueryExecutionContextBase.
     *
     * When handling a parallelized query, it instantiates one instance of
     * DocumentProcuder per target partition key range and aggregates the result of each.
     *
     * @param clientContext - The service endpoint to use to create the client.
     * @param collectionLink - The Collection Link
     * @param options - Represents the feed options.
     * @param partitionedQueryExecutionInfo - PartitionedQueryExecutionInfo
     * @hidden
     */
    constructor(clientContext: ClientContext, collectionLink: string, query: string | SqlQuerySpec, options: FeedOptions, partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo, correlatedActivityId: string);
    /**
     * Fetches next single item from producer for ORDER BY processing.
     */
    protected fetchFromProducer(producer: DocumentProducer): Promise<Response<any>>;
    /**
     * Determines if buffered producers should continue to be processed for ORDER BY queries.
     * For ORDER BY, only process when no unfilled producers remain to maintain order.
     * @param isUnfilledQueueEmpty - Whether the unfilled queue is empty
     * @hidden
     */
    protected shouldProcessBufferedProducers(isUnfilledQueueEmpty: boolean): boolean;
}
//# sourceMappingURL=orderByQueryExecutionContext.d.ts.map