/**
 * Session Hook Handlers - Phase 2D of T5237
 *
 * Handlers that capture session lifecycle events.
 * 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).
 * T527: Removed duplicate session observeBrain writes — session data already
 *       lives in the sessions table; writing it again to brain_observations
 *       was pure noise.
 * T549 Wave 3-E: Fire-and-forget sleep-time consolidation on session end.
 *       Runs after backup (priority 5) so brain.db snapshot is captured first.
 * T554: Fire-and-forget LLM reflector on session end. Runs at priority 4
 *       (after consolidation at priority 5) to synthesize final session knowledge.
 */
import type { SessionEndPayload, SessionStartPayload } from '../types.js';
/**
 * Handle SessionStart - refresh memory bridge on session start.
 *
 * T138: Refresh memory bridge on session start.
 * T139: Regenerate bridge with session scope context.
 * T527: Removed duplicate observeBrain write — session data is already
 *       persisted in the sessions table.
 */
export declare function handleSessionStart(projectRoot: string, _payload: SessionStartPayload): Promise<void>;
/**
 * Handle SessionEnd - run post-session tasks and refresh memory bridge.
 *
 * T138: Refresh memory bridge after session ends.
 * T144: Extract transcript observations via cross-provider adapter.
 * T527: Removed duplicate observeBrain write — session data is already
 *       persisted in the sessions table.
 */
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>;
/**
 * Handle SessionEnd — fire-and-forget sleep-time memory consolidation.
 *
 * T549 Wave 3-E: Runs the full consolidation pipeline (dedup, quality recompute,
 * tier promotion, contradiction detection, soft eviction, graph strengthening,
 * summary generation) in the background after the session backup has completed.
 *
 * Uses setImmediate to yield control so the session end flow completes before
 * consolidation begins. Consolidation errors are caught and logged to console.warn
 * — they MUST NOT block session end or throw to callers.
 *
 * Priority 5 ensures this runs last (after backup at priority 10).
 */
export declare function handleSessionEndConsolidation(projectRoot: string, _payload: SessionEndPayload): Promise<void>;
/**
 * Handle SessionEnd — fire-and-forget LLM reflector synthesis.
 *
 * T554: Runs the Reflector after the consolidation pass (priority 5) to
 * synthesize session observations into durable patterns and learnings.
 *
 * Uses setImmediate to yield control before the LLM call. Errors are caught
 * and logged — they MUST NOT block session end or throw to callers.
 *
 * Priority 4 ensures this runs after consolidation (priority 5).
 */
export declare function handleSessionEndReflector(projectRoot: string, payload: SessionEndPayload): Promise<void>;
//# sourceMappingURL=session-hooks.d.ts.map