import type { StreamStatus } from '../types.js';
import type { DaemonSession } from '../core/types.js';
import { type HookEvent } from './hook-runner.js';
type SessionLifecycleEvent = Extract<HookEvent, 'session.start' | 'session.exit' | 'session.idle' | 'session.requires_attention'>;
export declare function setSessionLifecycleShutdown(value: boolean): void;
export declare function emitSessionLifecycleHook(ds: DaemonSession, event: SessionLifecycleEvent, body?: Record<string, unknown>): boolean;
export declare function emitSessionStateTransitionHook(ds: DaemonSession, prevState: StreamStatus | undefined, newState: StreamStatus | undefined, body?: Record<string, unknown>): boolean;
export declare function __testOnly_resetSessionLifecycleHooks(): void;
export {};
//# sourceMappingURL=session-lifecycle-hooks.d.ts.map