import { QueryResult } from "../QueryResult.js";
import { Lazy } from "../../Lazy.js";
import { InMemoryDocumentSessionOperations } from "../../Session/InMemoryDocumentSessionOperations.js";
import { IndexQuery } from "../IndexQuery.js";
import { SuggestionsResponseObject } from "../../../Types/index.js";
export declare abstract class SuggestionQueryBase {
    private readonly _session;
    private _query;
    private _duration;
    protected constructor(session: InMemoryDocumentSessionOperations);
    execute(): Promise<SuggestionsResponseObject>;
    private _processResults;
    executeLazy(): Lazy<SuggestionsResponseObject>;
    protected abstract _getIndexQuery(updateAfterQueryExecuted?: boolean): IndexQuery;
    protected abstract _invokeAfterQueryExecuted(result: QueryResult): void;
    private _getCommand;
    toString(): string;
}
//# sourceMappingURL=SuggestionQueryBase.d.ts.map