import type { EmptyObject } from '../../../../framework-types/BaseTypes'; import type { ContextHaving, ContextUsing } from '../../../../framework-types/execution-context/Types'; import type { CapabilitiesExportNames, PlatformCapabilities } from '../../capabilities/Types'; import type { EventListenerEffect } from '../../core/effects/EventListenerEffectFactory'; import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types'; import type { CoreUtils } from '../../core/utils/Types'; import type { MediaState, MediaStateAtom, MediaStateExportNames } from '../../media-state/Types'; import type { BrowserDetectionExports } from '../../platform-detection/browser-detection/Types'; import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom'; import type { SourceExportNames } from '../../source/Types'; import type { ContextWithState } from '../../Types'; export type SafariPackageDependencies = BrowserDetectionExports & { [SourceExportNames.SourceState]: SourceStateAtom; [CoreExportNames.Utils]: CoreUtils; [CoreExportNames.CoreEffects]: CoreEffects; [CoreExportNames.CoreStateAtoms]: CoreStateAtoms; [MediaStateExportNames.MediaState]: typeof MediaState; [MediaStateExportNames.MediaStateAtom]: MediaStateAtom; [CapabilitiesExportNames.PlatformCapabilities]: PlatformCapabilities; }; export type SafariPackageExports = EmptyObject; export type SafariPackageContext = ContextUsing<[ EventListenerEffect ], ContextHaving>;