import { consistencies } from '../misc/types/consistencies';
import { Settings } from '../misc/utils/settings';
import { LoggingOptions } from '../misc/logging/logging.types';
export type InsertParams<T> = {
    [K in keyof T as T[K] extends (...args: any[]) => any ? never : K]?: T[K] | null | undefined;
};
export type InsertOptions = {
    returning?: boolean;
    replace?: boolean;
    batch?: boolean;
    ttl?: number;
    returnRaw?: boolean;
    logging?: LoggingOptions;
    timestamp?: number;
    consistency?: consistencies;
};
export declare class WriteQueryFactory<T> {
    private readonly tableName;
    private settings;
    constructor(tableName: string, settings: Settings);
    private CreateKeys;
    private CreateValues;
    private CreateInsert;
    InsertQuery(insert: InsertParams<T>[] | InsertParams<T>, options?: InsertOptions): string | string[];
}
