import type { QueryAnnotation } from "../abstract/QueryAnnotation";
import { QueryBase } from "../abstract/QueryBase";
import type { Schema } from "../abstract/Schema";
import type { ExistsInput, Table } from "../types";
import type { PgClient } from "./PgClient";
import { PgRunner } from "./PgRunner";
export declare class PgQueryExists<TTable extends Table> extends QueryBase<TTable, ExistsInput<TTable>, boolean, PgClient> {
    /** @ignore */
    readonly RUNNER_CLASS: typeof PgRunnerExists;
}
declare class PgRunnerExists<TTable extends Table> extends PgRunner<TTable, ExistsInput<TTable>, boolean> {
    static readonly IS_WRITE = false;
    private builder;
    readonly op = "EXISTS";
    readonly maxBatchSize = 100;
    readonly default = false;
    constructor(schema: Schema<TTable>, client: PgClient);
    key(input: ExistsInput<TTable>): string;
    runSingle(input: ExistsInput<TTable>, annotations: QueryAnnotation[]): Promise<boolean>;
    runBatch(inputs: Map<string, ExistsInput<TTable>>, annotations: QueryAnnotation[]): Promise<Map<string, boolean>>;
}
export {};
//# sourceMappingURL=PgQueryExists.d.ts.map