import type { ContextHaving } from '../../../framework-types/execution-context/Types';
import type { EmptyObject } from '../../Types';
import type { BaseStateMachineContext, StateMachineAtom } from '../core/state/StateMachineAtom';
import type { CoreStateAtoms } from '../core/Types';
import { CoreExportNames } from '../core/Types';
import type { CoreUtils } from '../core/utils/Types';
import type { ContextWithState } from '../Types';
import { MediaState } from './MediaState';
import type { MediaStateTransition } from './Types';
export type MediaStateAtom = StateMachineAtom<MediaState, BaseStateMachineContext, MediaStateTransition>;
type ContextT = ContextHaving<{
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.Utils]: CoreUtils;
}, EmptyObject, ContextWithState>;
export declare function createMediaStateMachineAtom(context: ContextT): MediaStateAtom;
export {};
