/**
 * Session Hook Handlers - Phase 2D of T5237
 *
 * Handlers that capture session lifecycle events to BRAIN via memory.observe.
 * Auto-registers on module load.
 *
 * T138: Triggers memory bridge refresh on session start and end.
 * T139: Regenerates bridge with session scope on start.
 * T144: Extracts transcript observations on session end.
 * T5158: Auto-snapshots SQLite databases (tasks.db + brain.db) via
 *        VACUUM INTO on SessionEnd to preserve a recovery point now that
 *        the databases are no longer tracked in project git (ADR-013).
 */
import type { SessionEndPayload, SessionStartPayload } from '../types.js';
/**
 * Handle SessionStart - capture initial session context
 *
 * T138: Refresh memory bridge on session start.
 * T139: Regenerate bridge with session scope context.
 */
export declare function handleSessionStart(projectRoot: string, payload: SessionStartPayload): Promise<void>;
/**
 * Handle SessionEnd - capture session summary
 *
 * T138: Refresh memory bridge after session ends.
 * T144: Extract transcript observations via cross-provider adapter.
 */
export declare function handleSessionEnd(projectRoot: string, payload: SessionEndPayload): Promise<void>;
/**
 * Handle SessionEnd - snapshot SQLite databases to `.cleo/backups/sqlite/`.
 *
 * ADR-013 / T5158: `.cleo/tasks.db` and `.cleo/brain.db` are NOT tracked in
 * project git, so we need an out-of-band recovery mechanism. This handler
 * calls `vacuumIntoBackupAll` with `force: true` at every session end to
 * guarantee a fresh point-in-time snapshot of both databases.
 *
 * Rotation (MAX_SNAPSHOTS = 10 per database) is handled inside
 * `sqlite-backup.ts`. Failures here are non-fatal: a backup error must
 * never block session end.
 *
 * The `vacuumIntoBackupAll` import is deferred to call time so tests that
 * auto-load session-hooks (e.g. via `handlers/index.ts`) do not have to
 * mock every transitive dependency of `sqlite-backup.ts` at hoisted
 * `vi.mock` time.
 */
export declare function handleSessionEndBackup(projectRoot: string, _payload: SessionEndPayload): Promise<void>;
//# sourceMappingURL=session-hooks.d.ts.map