/**
 * 🎬 REVOLUTIONARY: Universal Screen Recording Engine v4.0
 *
 * Records ANY application with AI-powered analysis:
 * - Terminal/Vim sessions for workflow optimization
 * - Database tools for query analysis
 * - Design tools for pattern recognition
 * - Development environments for tutorial creation
 * - Multi-application workflows for process automation
 */
import { ChildProcess } from 'child_process';
export interface RecordingOptions {
    applicationName?: string;
    windowTitle?: string;
    processId?: number;
    region?: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    duration: number;
    outputPath: string;
    format: 'mp4' | 'mov' | 'webm';
    quality: 'low' | 'medium' | 'high' | 'ultra';
    followMouse: boolean;
    captureAudio: boolean;
    frameRate: number;
    enableRealtimeAnalysis: boolean;
    extractFramesInterval: number;
    generateTranscript: boolean;
}
export interface RecordingSession {
    id: string;
    startTime: Date;
    outputPath: string;
    options: RecordingOptions;
    process?: ChildProcess;
    status: 'recording' | 'completed' | 'failed' | 'analyzing';
    metadata: {
        applicationInfo?: any;
        windowBounds?: any;
        frameCount?: number;
        fileSize?: number;
    };
}
export declare class UniversalScreenRecorder {
    private activeSessions;
    private backgroundWindowAutomation;
    /**
     * 🎬 REVOLUTIONARY: Record any application with intelligent targeting
     */
    startRecording(options: Partial<RecordingOptions>): Promise<RecordingSession>;
    /**
     * 🛑 Stop recording and prepare for analysis
     */
    stopRecording(sessionId: string): Promise<RecordingSession | null>;
    /**
     * 🔍 Get information about target application/window
     */
    private getApplicationWindowInfo;
    /**
     * 🛠️ Build FFmpeg command for different recording scenarios
     */
    private buildFFmpegCommand;
    /**
     * ⚙️ Get quality-specific encoding settings
     */
    private getQualitySettings;
    /**
     * 🎯 Build complete recording options with defaults
     */
    private buildRecordingOptions;
    /**
     * 🔧 Setup recording process event handlers
     */
    private setupRecordingProcessHandlers;
    /**
     * 🤖 Start realtime AI analysis during recording
     */
    private startRealtimeAnalysis;
    /**
     * 📸 Extract current frame for realtime analysis
     */
    private extractCurrentFrame;
    /**
     * 🔍 Get active recording sessions
     */
    getActiveSessions(): RecordingSession[];
    /**
     * 📊 Get session by ID
     */
    getSession(sessionId: string): RecordingSession | undefined;
    /**
     * 🧹 Clean up completed sessions
     */
    cleanupSession(sessionId: string): void;
    /**
     * 🆔 Generate unique session ID
     */
    private generateSessionId;
}
/**
 * 🎬 REVOLUTIONARY WORKFLOWS: Predefined recording profiles
 */
export declare class RecordingProfiles {
    static VIM_WORKFLOW: Partial<RecordingOptions>;
    static DATABASE_ANALYSIS: Partial<RecordingOptions>;
    static DESIGN_WORKFLOW: Partial<RecordingOptions>;
    static MULTI_APP_DEVELOPMENT: Partial<RecordingOptions>;
}
//# sourceMappingURL=universal-screen-recorder.d.ts.map