import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { AdaptationExportNames } from '../../adaptation/Types';
import type { Constants } from '../../core/Constants';
import type { MetricsAtom } from '../../core/metrics/MetricsAtom';
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
import type { CoreUtils } from '../../core/utils/Types';
import type { NetworkTask } from '../../network/NetworkTask';
import type { HttpRequestMethod, HttpResponseType, NetworkExportNames } from '../../network/Types';
import type { TargetPlaybackState, TargetPlaybackStateAtom } from '../../playback/play-pause/TargetPlaybackStateAtom';
import type { PlayPauseExportNames } from '../../playback/play-pause/Types';
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
import type { createSourceReference } from '../../source/SourceReference';
import type { SourceExportNames, SourceReferences } from '../../source/Types';
import type { SourceRemovedError } from '../../sources-api/SourceRemovedError';
import type { SourcesApiExportNames } from '../../sources-api/Types';
import type { ContextWithState } from '../../Types';
import type { AdExtensionSource } from '../base/AdExtension';
import type { isAdPositionKnown } from '../base/AdPosition';
import type { AdQuartile } from '../base/AdQuartile';
import type { AdType } from '../base/AdType';
import type { createBaseAdAtom } from '../base/BaseAdAtom';
import type { createBaseAdPodAtom } from '../base/BaseAdPodAtom';
import type { BaseAdPodState } from '../base/BaseAdPodState';
import type { BaseAdState } from '../base/BaseAdState';
import type { createClickThroughAtom } from '../base/ClickThroughAtom';
import type { AdSourceAdExports, AdvertisingBaseExportNames, ContentSourceAdExports } from '../base/Types';
export type AdvertisingBitmovinPackageDependencies = {
    [CoreExportNames.CoreEffects]: CoreEffects;
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.Utils]: CoreUtils;
    [CoreExportNames.Constants]: Constants;
    [SourceExportNames.SourceState]: SourceStateAtom;
    [SourceExportNames.CreateSourceReference]: typeof createSourceReference;
    [SourceExportNames.SourceReferences]: SourceReferences;
    [SourcesApiExportNames.SourceRemovedError]: typeof SourceRemovedError;
    [NetworkExportNames.NetworkTask]: typeof NetworkTask;
    [NetworkExportNames.HttpRequestMethod]: typeof HttpRequestMethod;
    [NetworkExportNames.HttpResponseType]: typeof HttpResponseType;
    [AdaptationExportNames.Metrics]: MetricsAtom;
    [PlayPauseExportNames.TargetPlaybackState]: typeof TargetPlaybackState;
    [PlayPauseExportNames.TargetPlaybackStateAtom]: TargetPlaybackStateAtom;
    [AdvertisingBaseExportNames.AdType]: typeof AdType;
    [AdvertisingBaseExportNames.AdQuartile]: typeof AdQuartile;
    [AdvertisingBaseExportNames.AdExtensionSource]: typeof AdExtensionSource;
    [AdvertisingBaseExportNames.BaseAdPodState]: typeof BaseAdPodState;
    [AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
    [AdvertisingBaseExportNames.CreateBaseAdPod]: typeof createBaseAdPodAtom;
    [AdvertisingBaseExportNames.CreateBaseAd]: typeof createBaseAdAtom;
    [AdvertisingBaseExportNames.CreateClickThrough]: typeof createClickThroughAtom;
    [AdvertisingBaseExportNames.IsAdPositionKnown]: typeof isAdPositionKnown;
};
export type AdvertisingBitmovinPackageExports = ContentSourceAdExports & AdSourceAdExports;
export type AdvertisingBitmovinContext = ContextHaving<AdvertisingBitmovinPackageDependencies, AdvertisingBitmovinPackageExports, ContextWithState>;
