import type { IEventDetail } from '@breadstone/mosaik-elements';
/**
 * Represents the event detail for recorder start events.
 *
 * @public
 */
export interface IRecorderStartEventDetail extends IEventDetail {
}
/**
 * Event fired when recording starts.
 *
 * @public
 */
export type RecorderStartEvent = CustomEvent<IRecorderStartEventDetail>;
/**
 * Represents the event detail for recorder stop events.
 *
 * @public
 */
export interface IRecorderStopEventDetail extends IEventDetail {
}
/**
 * Event fired when recording stops.
 *
 * @public
 */
export type RecorderStopEvent = CustomEvent<IRecorderStopEventDetail>;
/**
 * Represents the event detail for recorder pause events.
 *
 * @public
 */
export interface IRecorderPauseEventDetail extends IEventDetail {
}
/**
 * Event fired when recording is paused.
 *
 * @public
 */
export type RecorderPauseEvent = CustomEvent<IRecorderPauseEventDetail>;
/**
 * Represents the event detail for recorder resume events.
 *
 * @public
 */
export interface IRecorderResumeEventDetail extends IEventDetail {
}
/**
 * Event fired when recording is resumed.
 *
 * @public
 */
export type RecorderResumeEvent = CustomEvent<IRecorderResumeEventDetail>;
/**
 * Represents the event detail for recorder cancel events.
 *
 * @public
 */
export interface IRecorderCancelEventDetail extends IEventDetail {
}
/**
 * Event fired when recording is cancelled.
 *
 * @public
 */
export type RecorderCancelEvent = CustomEvent<IRecorderCancelEventDetail>;
declare global {
    interface HTMLElementEventMap {
        recorderStart: RecorderStartEvent;
        recorderStop: RecorderStopEvent;
        recorderPause: RecorderPauseEvent;
        recorderResume: RecorderResumeEvent;
        recorderCancel: RecorderCancelEvent;
    }
}
//# sourceMappingURL=RecorderEvents.d.ts.map