/**
 * Session recording service
 */
import { SessionEventType, SessionMetadata, SessionRecording, RecorderState } from '../types/recorder.js';
/**
 * Session recorder for capturing CLI interactions
 *
 * Records commands, HTTP requests/responses, logs, and errors
 * to ~/.ace/sessions/ for later analysis and summarization.
 */
export declare class SessionRecorder {
    private sessionsDir;
    private stateFile;
    private state;
    constructor();
    /**
     * Load recorder state from disk
     */
    private loadState;
    /**
     * Save recorder state to disk
     */
    private saveState;
    /**
     * Get current recorder state
     */
    getState(): RecorderState;
    /**
     * Check if recorder is active
     */
    isActive(): boolean;
    /**
     * Start a new recording session
     */
    start(command: string, projectId?: string): {
        sessionId: string;
        message: string;
    };
    /**
     * Stop the current recording session
     */
    stop(): {
        sessionId: string;
        events: number;
        duration: number;
    };
    /**
     * Record an event to the current session
     */
    recordEvent(type: SessionEventType, data: any, duration?: number): void;
    /**
     * List all recorded sessions
     */
    listSessions(): SessionMetadata[];
    /**
     * Get a specific session recording
     */
    getSession(sessionId: string): SessionRecording;
    /**
     * Export a session to a specific file
     */
    exportSession(sessionId: string, outputPath: string): void;
    /**
     * Delete a session recording
     */
    deleteSession(sessionId: string): void;
    /**
     * Read a session recording from disk
     */
    private readSession;
    /**
     * Write a session recording to disk
     */
    private writeSession;
}
/**
 * Get the global recorder instance
 */
export declare function getRecorder(): SessionRecorder;
//# sourceMappingURL=recorder.d.ts.map