import type { CallbackUserFunction, QueryKey, RawResultData, Sqlite3Method, ScalarUserFunction, Statement, DatabaseInfo, ClientConfig, StatementInput, Transaction, DatabasePath, AggregateUserFunction, ReactiveQuery, SqlTag } from './types.js'; import type { BatchMessage, BroadcastMessage, DeleteMessage, DestroyMessage, ExportMessage, FunctionMessage, GetInfoMessage, ImportMessage, OmitQueryKey, OutputMessage, QueryMessage, TransactionMessage, WorkerProxy } from './messages.js'; import { SQLocalProcessor } from './processor.js'; export declare class SQLocal { protected config: ClientConfig; protected clientKey: QueryKey; protected processor: SQLocalProcessor | Worker; protected isDestroyed: boolean; protected bypassMutationLock: boolean; protected transactionQueryKeyQueue: QueryKey[]; protected userCallbacks: Map void>; protected queriesInProgress: Map void, reject: (error: unknown) => void]>; protected proxy: WorkerProxy; protected reinitChannel: BroadcastChannel; protected effectsChannel?: BroadcastChannel; constructor(databasePath: DatabasePath); constructor(config: ClientConfig); protected processMessageEvent: (event: OutputMessage | MessageEvent) => void; protected createQuery: (message: OmitQueryKey) => Promise; protected broadcast: (message: BroadcastMessage) => void; protected exec: (sql: string, params: unknown[], method?: Sqlite3Method, transactionKey?: QueryKey) => Promise; protected execBatch: (statements: Statement[]) => Promise; sql: >(queryTemplate: TemplateStringsArray | string, ...params: unknown[]) => Promise; batch: >(passStatements: (sql: SqlTag) => Statement[]) => Promise; beginTransaction: () => Promise; transaction: (transaction: (tx: { sql: Transaction["sql"]; query: Transaction["query"]; }) => Promise) => Promise; reactiveQuery: >(passStatement: StatementInput) => ReactiveQuery; createCallbackFunction: (funcName: string, func: CallbackUserFunction["func"]) => Promise; createScalarFunction: (funcName: string, func: ScalarUserFunction["func"]) => Promise; createAggregateFunction: (funcName: string, func: AggregateUserFunction["func"]) => Promise; getDatabaseInfo: () => Promise; getDatabaseFile: () => Promise; overwriteDatabaseFile: (databaseFile: File | Blob | ArrayBuffer | Uint8Array | ReadableStream>, beforeUnlock?: () => void | Promise) => Promise; deleteDatabaseFile: (beforeUnlock?: () => void | Promise) => Promise; destroy: () => Promise; [Symbol.dispose]: () => void; [Symbol.asyncDispose]: () => Promise; }