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 { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
import type { SourceExportNames } from '../../source/Types';
import type { ContextWithState } from '../../Types';
import type { AdExtensionSource } from './AdExtension';
import type { isAdPositionKnown } from './AdPosition';
import type { AdQuartile } from './AdQuartile';
import type { AdSchedule } from './AdSchedule';
import type { AdType } from './AdType';
import type { BaseAdAtom, createBaseAdAtom } from './BaseAdAtom';
import type { createBaseAdPodAtom } from './BaseAdPodAtom';
import type { BaseAdPodState } from './BaseAdPodState';
import type { BaseAdState } from './BaseAdState';
import type { createClickThroughAtom } from './ClickThroughAtom';
export type AdvertisingBasePackageDependencies = {
    [CoreExportNames.CoreEffects]: CoreEffects;
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.Utils]: CoreUtils;
    [SourceExportNames.SourceState]: SourceStateAtom;
};
export declare enum AdvertisingBaseExportNames {
    AdType = "ad-type",
    AdQuartile = "ad-quartile",
    AdExtensionSource = "ad-extension-source",
    BaseAdPodState = "base-ad-pod-state",
    BaseAdState = "base-ad-state",
    CreateBaseAdPod = "create-base-ad-pod",
    CreateBaseAd = "create-base-ad",
    CreateClickThrough = "create-click-through",
    IsAdPositionKnown = "is-position-known"
}
export type AdvertisingBasePackageExports = {
    [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 AdvertisingBaseContext = ContextHaving<AdvertisingBasePackageDependencies, AdvertisingBasePackageExports, ContextWithState>;
export declare enum ContentSourceExportNames {
    AdSchedule = "ad-schedule"
}
export type ContentSourceAdExports = {
    [ContentSourceExportNames.AdSchedule]: AdSchedule;
};
export declare enum AdSourceExportNames {
    AssociatedAd = "associated-ad"
}
export type AdSourceAdExports = {
    [AdSourceExportNames.AssociatedAd]: BaseAdAtom;
};
