import type { ProcessorConfig, UserFunction, QueryKey, ConnectReason, SQLocalDriver } from './types.js'; import type { BatchMessage, ConfigMessage, DeleteMessage, DestroyMessage, ExportMessage, FunctionMessage, GetInfoMessage, ImportMessage, InputMessage, OutputMessage, QueryMessage, TransactionMessage, WorkerProxy } from './messages.js'; export declare class SQLocalProcessor { protected driver: SQLocalDriver; protected config: ProcessorConfig; protected userFunctions: Map; protected initMutex: { lock: () => Promise; unlock: () => Promise; }; protected transactionMutex: { lock: () => Promise; unlock: () => Promise; }; protected transactionKey: QueryKey | null; protected proxy: WorkerProxy; protected dirtyTables: Set; protected effectsChannel?: BroadcastChannel; protected reinitChannel?: BroadcastChannel; onmessage?: (message: OutputMessage, transfer: Transferable[]) => void; constructor(driver: SQLocalDriver); protected init: (reason: ConnectReason) => Promise; postMessage: (event: InputMessage | MessageEvent, _transfer?: Transferable) => Promise; protected emitMessage: (message: OutputMessage, transfer?: Transferable[]) => void; protected emitEffects: () => void; protected emitEffectsDebounced: import("./lib/debounce.js").DebouncedFunction<() => void>; protected editConfig: (message: ConfigMessage) => void; protected exec: (message: QueryMessage | BatchMessage | TransactionMessage) => Promise; protected execInitStatements: () => Promise; protected getDatabaseInfo: (message: GetInfoMessage) => Promise; protected createUserFunction: (message: FunctionMessage) => Promise; protected initUserFunction: (fn: UserFunction) => Promise; protected importDb: (message: ImportMessage) => Promise; protected exportDb: (message: ExportMessage) => Promise; protected deleteDb: (message: DeleteMessage) => Promise; protected destroy: (message?: DestroyMessage) => Promise; }