import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager'; import type { EmptyObject } from '../../../../framework-types/BaseTypes'; import type { ContextHaving } from '../../../../framework-types/execution-context/Types'; import type { CoreEffects, CoreExportNames } from '../../core/Types'; import type { TargetPlaybackState, TargetPlaybackStateAtom } from '../../playback/play-pause/TargetPlaybackStateAtom'; import type { PlayPauseExportNames } from '../../playback/play-pause/Types'; import type { VideoElementStateExportNames } from '../../playback/video-element-state/Types'; import type { VideoElementStateAtom } from '../../playback/video-element-state/VideoElementStateAtom'; import type { SourcesApiExportNames } from '../../sources-api/Types'; import type { ContextWithState } from '../../Types'; export type PlayPauseApi = { play(): Promise; pause(): void; }; export type PlayPauseApiPackageDependencies = { [CoreExportNames.CoreEffects]: CoreEffects; [PlayPauseExportNames.TargetPlaybackState]: typeof TargetPlaybackState; [PlayPauseExportNames.TargetPlaybackStateAtom]: TargetPlaybackStateAtom; [SourcesApiExportNames.SourceApiManager]: ApiManager; [VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom; }; export type PlayPauseApiPackageExports = EmptyObject; export type PlayPauseApiPackageContext = ContextHaving;