import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager';
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
import type { CoreUtils } from '../../core/utils/Types';
import type { extendEventBusTypes } from '../../event-bus/EventBus';
import type { EventBus, EventBusExportNames } from '../../event-bus/Types';
import type { MediaInfo } from '../../media-state/MediaInfoAtoms';
import type { MediaStateAtom } from '../../media-state/MediaStateAtom';
import type { MediaState, MediaStateExportNames } from '../../media-state/Types';
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
import type { SourceExportNames } from '../../source/Types';
import type { SourcesApiExportNames } from '../../sources-api/Types';
import type { ContextWithState } from '../../Types';
import type { PlaybackEvent, PlaybackEventMap } from './events/PlaybackEventMap';
export type PlaybackApiEventsPackageDependencies = {
    [CoreExportNames.CoreEffects]: CoreEffects;
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.Utils]: CoreUtils;
    [EventBusExportNames.ExtendEventBusTypes]: typeof extendEventBusTypes;
    [MediaStateExportNames.MediaStateAtom]: MediaStateAtom;
    [MediaStateExportNames.MediaState]: typeof MediaState;
    [MediaStateExportNames.MediaInfo]: MediaInfo;
    [SourcesApiExportNames.SourceEventBus]: EventBus<PlaybackEventMap>;
    [SourcesApiExportNames.SourceApiManager]: ApiManager<PlaybackStateApi>;
    [SourceExportNames.SourceState]: SourceStateAtom;
};
export declare enum PlaybackApiEventsPackageExportNames {
    PlaybackEvent = "playback-event"
}
export type PlaybackApiEventsPackageExports = {
    [PlaybackApiEventsPackageExportNames.PlaybackEvent]: typeof PlaybackEvent;
};
export type PlaybackApiEventsPackageContext = ContextHaving<PlaybackApiEventsPackageDependencies, PlaybackApiEventsPackageExports, ContextWithState>;
export type PlaybackStateApi = {
    readonly state: MediaState;
};
