import { StrictSchema, LangName, MigrateFns, SchemaChecksum } from '@based/schema'; import { StartOpts } from './start.js'; import { VerifTree } from './tree.js'; import exitHook from 'exit-hook'; import { IoWorker } from './IoWorker.js'; import { QueryWorker } from './QueryWorker.js'; import { DbShared } from '../shared/DbBase.js'; import { Subscriptions } from './subscription.js'; declare class SortIndex { constructor(buf: Uint8Array, dbCtxExternal: any); buf: Uint8Array; idx: any; cnt: number; } export declare class DbServer extends DbShared { #private; modifyDirtyRanges: Float64Array; dbCtxExternal: any; subscriptions: Subscriptions; migrating: number; saveInProgress: boolean; fileSystemPath: string; verifTree: VerifTree; dirtyRanges: Set; ioWorker: IoWorker; workers: QueryWorker[]; availableWorkerIndex: number; activeReaders: number; modifyQueue: Map; queryQueue: Map; stopped: boolean; unlistenExit: ReturnType; saveIntervalInSeconds?: number; saveInterval?: NodeJS.Timeout; delayInMs?: number; ids: Uint32Array; constructor({ path, debug, saveIntervalInSeconds, }: { path: string; debug?: boolean; saveIntervalInSeconds?: number; }); start(opts?: StartOpts): Promise; save(opts?: { forceFullDump?: boolean; }): Promise; loadBlock(typeName: string, nodeId: number): Promise; unloadBlock(typeName: string, nodeId: number): Promise; sortIndexes: { [type: number]: { [field: number]: { [start: number]: { [lang: number]: SortIndex; }; }; }; }; cleanupTimer: NodeJS.Timeout; cleanup(): void; createSortIndex(type: string, field: string, lang?: LangName): SortIndex; destroySortIndex(type: string, field: string, lang?: LangName): any; getSortIndex(typeId: number, field: number, start: number, lang: number): SortIndex; createSortIndexBuffer(typeId: number, field: number, start: number, lang: number): SortIndex; setSchema(strictSchema: StrictSchema, transformFns?: MigrateFns): Promise; modify(payload: Uint8Array): Uint8Array | null | Promise; addToQueryQueue(resolve: any, buf: any): Promise>; getQueryBuf(buf: Uint8Array, fromQueue?: boolean): Promise; onQueryEnd(): void; stop(noSave?: boolean): Promise; destroy(): Promise; } export {};