import { RecorderData } from "../../models/data/recorder-annotation.data.model";
import { RecorderEventTypes } from "../../utils/enums";
export interface TranscriptionDoneEvent extends RecorderData {
}
export interface RecordingDoneEvent extends RecorderData {
}
export interface RecordingDoneLocalEvent extends RecorderData {
}
export interface RecordingDeleteEvent extends RecorderData {
}
export interface RecordingEditDoneEvent extends RecorderData {
}
export interface RecordingActionsEvent {
    type: 'audio' | 'video' | 'screen';
}
export interface RecordingStartedEvent extends RecordingActionsEvent {
}
export interface RecordingPausedEvent extends RecordingActionsEvent {
}
export interface RecordingCancelledEvent extends RecordingActionsEvent {
}
export interface RecordingStoppedEvent extends RecordingActionsEvent {
}
export interface RecordingResumedEvent extends RecordingActionsEvent {
}
export interface RecordingErrorEvent {
    type: string;
    message: string;
    recorderId?: string;
    url?: string;
}
export interface RecordingSaveInitiatedEvent {
    annotationId?: string;
    message: string;
    type: 'edit' | 'record';
}
export type RecorderEventTypesMap = {
    [RecorderEventTypes.TRANSCRIPTION_DONE]: TranscriptionDoneEvent;
    [RecorderEventTypes.RECORDING_DONE]: RecordingDoneEvent;
    [RecorderEventTypes.RECORDING_DONE_LOCAL]: RecordingDoneLocalEvent;
    [RecorderEventTypes.RECORDING_EDIT_DONE]: RecordingEditDoneEvent;
    [RecorderEventTypes.DELETE_RECORDING]: RecordingDeleteEvent;
    [RecorderEventTypes.RECORDING_STARTED]: RecordingStartedEvent;
    [RecorderEventTypes.RECORDING_PAUSED]: RecordingPausedEvent;
    [RecorderEventTypes.RECORDING_CANCELLED]: RecordingCancelledEvent;
    [RecorderEventTypes.RECORDING_STOPPED]: RecordingStoppedEvent;
    [RecorderEventTypes.RECORDING_RESUMED]: RecordingResumedEvent;
};
