import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
import type { WccDashboard } from './wcc-dashboard.js';
export declare class WccRecordingPanel extends DeesElement {
    accessor dashboardRef: WccDashboard;
    accessor panelState: 'options' | 'recording' | 'preview';
    accessor recordingMode: 'viewport' | 'screen';
    accessor audioEnabled: boolean;
    accessor selectedMicrophoneId: string;
    accessor availableMicrophones: MediaDeviceInfo[];
    accessor audioLevel: number;
    accessor recordingDuration: number;
    accessor previewVideoUrl: string;
    accessor trimStart: number;
    accessor trimEnd: number;
    accessor videoDuration: number;
    accessor isDraggingTrim: 'start' | 'end' | null;
    accessor isExporting: boolean;
    private recorderService;
    constructor();
    static styles: import("@design.estate/dees-element").CSSResult[];
    render(): TemplateResult;
    private renderOptionsPanel;
    private renderPreviewModal;
    private handleAudioToggle;
    private handleMicrophoneChange;
    private startRecording;
    stopRecording(): void;
    private handleRecordingComplete;
    private discardRecording;
    private downloadRecording;
    private handleVideoLoaded;
    private formatDuration;
    private getHandlePositionStyle;
    private getHandlePositionFromEndStyle;
    private handleTimelineClick;
    private handleTimelineDrag;
    private handleTimelineDragEnd;
    private resetTrim;
    private previewTrimmedSection;
    private close;
    disconnectedCallback(): Promise<void>;
}
