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 { MsePresentationStateAtom } from './atoms/MsePresentationStateAtom';
export declare const MsePresentationState = "mse-presentation-state";
export type MsePresentationState = {
    [MsePresentationState]: MsePresentationStateAtom;
};
export interface MsePresentationStateData {
    resource: Resource;
}
export type MsePlaybackTechnologyExports = EmptyObject;
export type MsePlaybackTechnologyDependencies = {
    [PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
    [CoreExportNames.Constants]: Constants;
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.CoreEffects]: CoreEffects;
    [CapabilitiesExportNames.PlatformCapabilities]: PlatformCapabilities;
};
export type MsePlaybackTechnologyContext = ContextHaving<MsePlaybackTechnologyDependencies, MsePlaybackTechnologyExports, ContextWithState>;
export type MsePlaybackTechnology = PresentationTechnologyEntry<MsePresentationState>;
