import { compress, decompress } from './client/string.js';
import { ModifyCtx } from './client/flushModify.js';
import { DbServer } from './server/index.js';
import { DbClient } from './client/index.js';
import { getDefaultHooks } from './hooks.js';
export * from './client/modify/modify.js';
export { compress, decompress };
export { ModifyCtx };
export { DbClient, DbServer };
export { xxHash64 } from './client/xxHash64.js';
export { crc32 } from './client/crc32.js';
export { default as createHash } from './server/dbHash.js';
export * from './client/query/serialize.js';
export * from './utils.js';
export * from './client/query/query.js';
export * from './client/query/BasedDbQuery.js';
export * from './client/query/BasedIterable.js';
export * from './server/save.js';
export { getDefaultHooks };
export declare class BasedDb {
    #private;
    client: DbClient;
    server: DbServer;
    fileSystemPath: string;
    maxModifySize: number;
    constructor(opts: {
        path: string;
        maxModifySize?: number;
        debug?: boolean | 'server' | 'client';
        saveIntervalInSeconds?: number;
    });
    create: DbClient['create'];
    copy: DbClient['copy'];
    update: DbClient['update'];
    upsert: DbClient['upsert'];
    delete: DbClient['delete'];
    expire: DbClient['expire'];
    query: DbClient['query'];
    setSchema: DbClient['setSchema'];
    putSchema: DbClient['setSchema'];
    drain: DbClient['drain'];
    start: DbServer['start'];
    stop: DbServer['stop'];
    save: DbServer['save'];
    migrateSchema: DbServer['migrateSchema'];
    isModified: DbClient['isModified'];
    schemaIsSet: DbClient['schemaIsSet'];
    destroy(): Promise<void>;
    wipe(): Promise<void>;
    on: DbClient['on'];
    off: DbClient['off'];
}
