/**
 * @fileoverview Append-only JSONL audit log for session lifecycle events.
 *
 * Records every session creation, start, exit, deletion, recovery, and server
 * start/stop to ~/.codeman/session-lifecycle.jsonl. Survives server restarts
 * (unlike RunSummary which is in-memory only).
 *
 * @module session-lifecycle-log
 */
import type { LifecycleEventType, LifecycleEntry } from './types.js';
export declare class SessionLifecycleLog {
    private filePath;
    private writeQueue;
    constructor(filePath?: string);
    /**
     * Append a lifecycle event. Fire-and-forget — errors are logged but never thrown.
     */
    log(entry: Omit<LifecycleEntry, 'ts'> & {
        ts?: number;
    }): void;
    /**
     * Query the log file with optional filters.
     */
    query(opts?: {
        sessionId?: string;
        event?: LifecycleEventType;
        since?: number;
        limit?: number;
    }): Promise<LifecycleEntry[]>;
    /**
     * Trim the log file if it exceeds MAX_LINES. Called on server start.
     */
    trimIfNeeded(): Promise<void>;
}
export declare function getLifecycleLog(filePath?: string): SessionLifecycleLog;
//# sourceMappingURL=session-lifecycle-log.d.ts.map