import type { EmptyObject } from '../../../../framework-types/BaseTypes';
import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
import type { StateAtom } from '../../core/state/Types';
import type { Transient } from '../../core/utils/StateUtils';
import type { AdPosition } from './AdPosition';
import type { AdQuartile, AdvertisingBaseContext } from './Types';
import { BaseAdState } from './Types';
type AdState = {
    id: string;
    position: AdPosition;
    isSkippable: PrimitiveAtom<boolean>;
    skipDelay: PrimitiveAtom<number>;
    quartile: PrimitiveAtom<AdQuartile | undefined>;
    state: PrimitiveAtom<BaseAdState>;
    error: PrimitiveAtom<Error | undefined>;
    sourcePreloadOffset: PrimitiveAtom<number>;
    skip: Transient<void>;
    clicked: Transient<string | undefined>;
};
export type BaseAdAtom = StateAtom<AdState, EmptyObject>;
export declare function createBaseAdAtom(context: AdvertisingBaseContext, id: string, position: AdPosition, adSkipDelay: number, preloadOffset: number): BaseAdAtom;
export {};
