import type { EventBase } from '../../../event-bus/Types';
import type { DurationChangedEvent } from './DurationChangedEvent';
import type { PlaybackRateChangedEvent } from './PlaybackRateChangedEvent';
import type { SeekedEvent } from './SeekedEvent';
import type { SeekingEvent } from './SeekingEvent';
import type { TimeChangedEvent } from './TimeChanged';
import type { VolumeChangedEvent } from './VolumeChangedEvent';
export declare enum PlaybackEvent {
    Ready = "ready",
    Play = "play",
    Playing = "playing",
    Paused = "paused",
    Seeking = "seeking",
    Seeked = "seeked",
    Ended = "ended",
    TimeChanged = "time-changed",
    StallStarted = "stall-started",
    StallEnded = "stall-ended",
    VideoDetached = "video-detached",
    VideoAttached = "video-attached",
    Muted = "muted",
    Unmuted = "unmuted",
    VolumeChanged = "volume-changed",
    DurationChanged = "duration-changed",
    PlaybackRateChanged = "playback-rate-changed"
}
export type PlaybackEventMap = {
    [PlaybackEvent.Ready]: EventBase;
    [PlaybackEvent.Play]: EventBase;
    [PlaybackEvent.Playing]: EventBase;
    [PlaybackEvent.Paused]: EventBase;
    [PlaybackEvent.Seeking]: SeekingEvent;
    [PlaybackEvent.Seeked]: SeekedEvent;
    [PlaybackEvent.Ended]: EventBase;
    [PlaybackEvent.TimeChanged]: TimeChangedEvent;
    [PlaybackEvent.StallStarted]: EventBase;
    [PlaybackEvent.StallEnded]: EventBase;
    [PlaybackEvent.VideoDetached]: EventBase;
    [PlaybackEvent.VideoAttached]: EventBase;
    [PlaybackEvent.Muted]: EventBase;
    [PlaybackEvent.Unmuted]: EventBase;
    [PlaybackEvent.VolumeChanged]: VolumeChangedEvent;
    [PlaybackEvent.DurationChanged]: DurationChangedEvent;
    [PlaybackEvent.PlaybackRateChanged]: PlaybackRateChangedEvent;
};
