import { DatabaseSync } from "node:sqlite"; export declare class Store { readonly db: DatabaseSync; private statements; private closed; constructor(base: string); run(sql: string, ...args: (string | number | null)[]): import("node:sqlite").StatementResultingChanges; private statement; get>(sql: string, ...args: (string | number)[]): T | undefined; all>(sql: string, ...args: (string | number)[]): T[]; transaction(fn: () => T): T; close(): void; } export declare class Mutex { private tail; run(fn: () => T | Promise): Promise; } export declare class ProtocolError extends Error { status: number; code: string; retryable?: boolean | undefined; phase?: string | undefined; constructor(status: number, code: string, message?: string, retryable?: boolean | undefined, phase?: string | undefined); } export declare function check(condition: unknown, code: string, status?: number): asserts condition; export declare function relativePath(value: unknown): string; export declare function identifier(value: unknown): string; /** Resolve the application-visible directory using the same layout as Engine.publish. */ export declare function publishedDirectory(baseDir: string, targetDir: string): string; export declare function integer(value: unknown): number; export interface Failure { code: string; status: number; phase: string; retryable: boolean; } /** Preserve OS/SQLite failures instead of reporting malformed request data. */ export declare function normalizeError(error: unknown, phase?: string): ProtocolError;