import { DbServer } from './server/index.js';
import { BasedDbQuery } from './client/query/BasedDbQuery.js';
import { OnError } from './client/query/subscription/types.js';
import { StrictSchema } from '@based/schema';
export declare const DECODER: TextDecoder;
export declare const ENCODER: TextEncoder;
export declare const debugMode: (target: any, getInfo?: any) => void;
export declare const debugServer: (server: DbServer) => void;
export declare const schemaLooseEqual: (a: any, b: any, key?: string) => boolean;
export declare const getDefaultHooks: (server: DbServer, subInterval?: number) => {
    subscribe(q: BasedDbQuery, onData: (res: Uint8Array) => void, onError: OnError): () => void;
    setSchema(schema: StrictSchema, fromStart: boolean): Promise<StrictSchema & {
        lastId: number;
        hash?: number;
    }>;
    flushModify(buf: Uint8Array): Promise<{
        offsets: Record<number, number>;
        dbWriteTime: number;
    }>;
    getQueryBuf(buf: Uint8Array): Promise<Uint8Array>;
};
