import type { EmptyObject } from '../../../../../framework-types/BaseTypes';
import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
import type { CapabilitiesExportNames, PlatformCapabilities } from '../../../capabilities/Types';
import type { Constants } from '../../../core/Constants';
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
import type { PlaybackTechnologyComponent, PresentationTechnologyEntry } from '../../../playback-technology/Types';
import type { Resource } from '../../../source/atoms/SourceConfigAtom';
import type { ContextWithState } from '../../../Types';
import type { NativePresentationStateAtom } from './atoms/NativePresentationStateAtom';
export declare const NativePresentationState = "native-presentation-state";
export type NativePresentationState = {
    [NativePresentationState]: NativePresentationStateAtom;
};
export interface NativePresentationStateData {
    resource: Resource;
}
export type NativePlaybackTechnologyExports = EmptyObject;
export type NativePlaybackTechnologyDependencies = {
    [PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
    [CoreExportNames.Constants]: Constants;
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.CoreEffects]: CoreEffects;
    [CapabilitiesExportNames.PlatformCapabilities]: PlatformCapabilities;
};
export type NativePlaybackTechnologyContext = ContextHaving<NativePlaybackTechnologyDependencies, NativePlaybackTechnologyExports, ContextWithState>;
export type NativePlaybackTechnology = PresentationTechnologyEntry<NativePresentationState>;
