/**
 * SQLite store for global-tier signaldock.db — canonical agent identity database.
 *
 * Post-T310 (ADR-037), signaldock.db lives at `$XDG_DATA_HOME/cleo/signaldock.db`
 * (resolved via getCleoHome()). It holds cross-project agent identity, capabilities
 * catalog, and cloud-sync tables. Project-local messaging state has moved to
 * conduit.db (managed by conduit-sqlite.ts, T344).
 *
 * GLOBAL-TIER ONLY. This module MUST NOT resolve paths under any project's .cleo/
 * directory. The path guard in getGlobalSignaldockDbPath() enforces this invariant.
 *
 * @task T346
 * @epic T310
 * @related ADR-037
 */
import type { DatabaseSync } from 'node:sqlite';
/**
 * Database file name within the global cleo home directory.
 *
 * @task T346
 * @epic T310
 */
export declare const GLOBAL_SIGNALDOCK_DB_FILENAME = "signaldock.db";
/**
 * Schema version for global signaldock databases.
 *
 * @task T346
 * @epic T310
 */
export declare const GLOBAL_SIGNALDOCK_SCHEMA_VERSION = "2026.4.12";
/**
 * @deprecated Use GLOBAL_SIGNALDOCK_SCHEMA_VERSION. Retained during T310
 * migration window. Will be removed after all callers migrate (T355).
 */
export declare const SIGNALDOCK_SCHEMA_VERSION = "2026.4.12";
/**
 * Returns the GLOBAL-tier signaldock.db path. Post-T310, signaldock.db
 * holds canonical agent identity + cloud-sync tables. Project-local
 * messaging state lives in conduit.db (T344).
 *
 * Resolves to `getCleoHome() + '/signaldock.db'`.
 * Guard: asserts the resolved path starts with getCleoHome() (defense in depth,
 * mirrors the ADR-036 pattern used by getNexusDbPath in nexus-sqlite.ts).
 *
 * @task T346
 * @epic T310
 * @why ADR-037 split single signaldock.db into project conduit + global signaldock
 * @throws {Error} If resolved path is not under getCleoHome() — indicates a code
 *   path that bypasses canonical path resolution. Fix the caller, do not suppress.
 */
export declare function getGlobalSignaldockDbPath(): string;
/**
 * @deprecated Use getGlobalSignaldockDbPath() directly. Retained during T310
 * migration window so the TypeScript build does not break until all callers
 * are updated (tracked in T355 accessor refactor).
 *
 * When called WITHOUT arguments: returns the global-tier path (forwards to
 * getGlobalSignaldockDbPath()).
 *
 * When called WITH a non-undefined `cwd` argument: throws a migration error
 * immediately. The project-tier path is now owned by conduit-sqlite.ts (T344).
 *
 * @param cwd - Must be undefined. Any other value throws a migration error.
 * @task T346
 * @epic T310
 */
export declare function getSignaldockDbPath(cwd?: string): string;
/**
 * Ensure global signaldock.db exists with the full global schema applied.
 * Creates the global cleo home directory if it doesn't exist.
 * Idempotent — safe to call multiple times.
 *
 * @returns Object with action ('created' | 'exists') and the database path
 * @task T346
 * @epic T310
 */
export declare function ensureGlobalSignaldockDb(): Promise<{
    action: 'created' | 'exists';
    path: string;
}>;
/**
 * @deprecated Use ensureGlobalSignaldockDb(). Retained during T310 migration
 * window for callers in init.ts and agent-registry-accessor.ts.
 *
 * When called WITHOUT arguments: forwards to ensureGlobalSignaldockDb().
 * When called WITH a non-undefined `cwd` argument: throws a migration error.
 *
 * @param cwd - Must be undefined. Any other value throws a migration error.
 * @task T346
 * @epic T310
 */
export declare function ensureSignaldockDb(cwd?: string): Promise<{
    action: 'created' | 'exists';
    path: string;
}>;
/**
 * Check global signaldock.db health: table count, WAL mode, schema version.
 * Used by `cleo doctor` to verify global signaldock.db integrity.
 *
 * @returns Health report object, or object with exists=false if the DB does not exist.
 * @task T346
 * @epic T310
 */
export declare function checkGlobalSignaldockDbHealth(): Promise<{
    exists: boolean;
    path: string;
    tableCount: number;
    walMode: boolean;
    schemaVersion: string | null;
    foreignKeysEnabled: boolean;
} | null>;
/**
 * @deprecated Use checkGlobalSignaldockDbHealth(). Retained during T310 migration
 * window for callers in `cleo doctor` and other diagnostics.
 *
 * When called WITHOUT arguments: forwards to checkGlobalSignaldockDbHealth().
 * When called WITH a non-undefined `cwd` argument: throws a migration error.
 *
 * @param cwd - Must be undefined. Any other value throws a migration error.
 * @task T346
 * @epic T310
 */
export declare function checkSignaldockDbHealth(cwd?: string): Promise<{
    exists: boolean;
    path: string;
    tableCount: number;
    walMode: boolean;
    schemaVersion: string | null;
    foreignKeysEnabled: boolean;
} | null>;
/**
 * Get the underlying node:sqlite DatabaseSync instance for global signaldock.db.
 * Returns the handle stored by the most recent ensureGlobalSignaldockDb() call,
 * or null if the database has not yet been initialized in this process.
 *
 * Used by sqlite-backup.ts to activate the signaldock GLOBAL_SNAPSHOT_TARGET
 * (spec §6.2, T310).
 *
 * @task T346
 * @epic T310
 */
export declare function getGlobalSignaldockNativeDb(): DatabaseSync | null;
/**
 * Reset the in-process global signaldock.db singleton.
 * ONLY for use in test isolation — never call in production code.
 *
 * @task T346
 * @epic T310
 */
export declare function _resetGlobalSignaldockDb_TESTING_ONLY(): void;
//# sourceMappingURL=signaldock-sqlite.d.ts.map