import { QueryResult } from "../Queries/QueryResult.js";
import { DocumentConventions } from "../Conventions/DocumentConventions.js";
import { IndexQuery } from "../Queries/IndexQuery.js";
import { Stream } from "node:stream";
import { InMemoryDocumentSessionOperations } from "../Session/InMemoryDocumentSessionOperations.js";
import { AbstractQueryCommand } from "./AbstractQueryCommand.js";
export interface QueryCommandOptions {
    metadataOnly?: boolean;
    indexEntriesOnly?: boolean;
}
export declare class QueryCommand extends AbstractQueryCommand<QueryResult, {
    [param: string]: object;
}> {
    private readonly _conventions;
    private readonly _indexQuery;
    protected readonly _session: InMemoryDocumentSessionOperations;
    constructor(session: InMemoryDocumentSessionOperations, indexQuery: IndexQuery, opts: QueryCommandOptions);
    protected getQueryHash(): string;
    protected _getContent(): string;
    setResponseAsync(bodyStream: Stream, fromCache: boolean): Promise<string>;
    static parseQueryResultResponseAsync(bodyStream: Stream, conventions: DocumentConventions, fromCache: boolean, bodyCallback?: (body: string) => void): Promise<QueryResult>;
    private static _mapTimingsToLocalObject;
    private static _mapToLocalObject;
}
//# sourceMappingURL=QueryCommand.d.ts.map