export { embeddedDatabaseSocketPath } from './functions.embeddeddb.js'; export interface IEmbeddedControllerDatabaseOptions { /** directory holding the smartdb storage files; its hash names the unix socket */ dataDirectory: string; /** previous installed default, logically migrated only while its engine is stopped */ legacyDataDirectory?: string; } /** * The controller's embedded database engine: a @push.rocks/smartdb * LocalSmartDb over a unix socket in the AGL sockets directory. The socket * path is deterministic so a second controller process (e.g. the * temp-password CLI) attaches to the running daemon's engine instead of * opening the storage files a second time; only the process that booted * the engine stops it. */ export declare class EmbeddedControllerDatabase { private readonly options; private localDb?; private connectionUri?; private startPromise?; private migrationRunner?; private resolvedSocketPath?; constructor(options: IEmbeddedControllerDatabaseOptions); get socketPath(): string; get ownsEngine(): boolean; /** Starts (or attaches to) the engine and returns the smartdata-ready URI. */ start(): Promise; private startOnce; stop(): Promise; private isSocketListening; }