import { IDBResult, IDBResultError, GetCommandOptions } from './types/types';
import { DbEntity } from './types/entities';
type OnWrite = (writesCount: number) => void;
declare const _default: {
    init: (onWrite?: OnWrite) => Promise<void>;
    put: (tableName: string, array: Partial<DbEntity>[]) => Promise<IDBResult | IDBResultError>;
    get: (tableName: string, selectFields?: string[], conditions?: string[], conditionFields?: string[], options?: GetCommandOptions) => Promise<IDBResult | IDBResultError>;
    rm: (tableName: string, keyValues: Partial<DbEntity>[]) => Promise<IDBResult | IDBResultError>;
    update: (tableName: string, array: Partial<DbEntity>[]) => Promise<IDBResult | IDBResultError>;
    runCommand: (command: string, immutable?: boolean) => Promise<IDBResult | IDBResultError>;
    getCommandFactory: () => {
        generateModifyCommand: (tableName: string, command?: "update" | "put", fieldNames?: string[]) => string;
        generateAtomCommand: (tableName: string, items: Partial<DbEntity>[], fieldNames?: string[]) => string;
        generatePut: (tableName: string, array: Partial<DbEntity>[]) => string;
        generateGet: (tableName: string, selectFields?: string[], conditions?: string[], conditionFields?: string[], options?: GetCommandOptions) => string;
        generateUpdate: (tableName: string, array: Partial<DbEntity>[]) => string;
        generateRm: (tableName: string, keyValues: Partial<DbEntity>[]) => string;
    };
    importRelations: (content: string) => any;
    exportRelations: (relations: string[]) => any;
};
export default _default;
