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 { ParallelQueryExecutionContextBase } from "./parallelQueryExecutionContextBase.js";
import type { Response } from "../request/index.js";
import type { SqlQuerySpec } from "./SqlQuerySpec.js";
/**
 * Provides the ParallelQueryExecutionContext.
 * This class is capable of handling parallelized queries and derives from ParallelQueryExecutionContextBase.
 * @hidden
 */
export declare class ParallelQueryExecutionContext extends ParallelQueryExecutionContextBase implements ExecutionContext {
    constructor(clientContext: ClientContext, collectionLink: string, query: string | SqlQuerySpec, options: FeedOptions, partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo, correlatedActivityId: string);
    /**
     * Fetches all buffered items from producer for parallel processing.
     */
    protected fetchFromProducer(producer: DocumentProducer): Promise<Response<any>>;
    /**
     * Determines if buffered producers should continue to be processed for parallel queries.
     * For parallel queries, we process all buffered producers.
     * @param _isUnfilledQueueEmpty - Whether the unfilled queue is empty (ignored for parallel queries)
     * @hidden
     */
    protected shouldProcessBufferedProducers(_isUnfilledQueueEmpty: boolean): boolean;
    /**
     * Creates a comparator function for sorting document producers in parallel queries.
     * Sorts by partition key range minInclusive values, with empty string first,
     * then lexicographically. Uses EPK ranges as secondary sort when minInclusive values are identical.
     */
    private static createDocumentProducerComparator;
}
//# sourceMappingURL=parallelQueryExecutionContext.d.ts.map