import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { Constants } from '../../core/Constants';
import type { StreamTimelineAtom } from '../../core/state/stream-timeline/StreamTimelineMapAtom';
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
import type { CoreUtils } from '../../core/utils/Types';
import type { DataExportNames } from '../../data/Types';
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
import type { SourceExportNames } from '../../source/Types';
import type { StreamDataStructureSegments } from '../../stream-data-structure/segment/Exports';
import type { StreamDataStructureSelectionGroups } from '../../stream-data-structure/selection-group/Exports';
import type { StreamingState } from '../../streaming/Types';
import type { ContextWithState } from '../../Types';
import type { SubtitleBufferClearingTask } from './SubtitleBufferClearingTask';
import type { createSubtitleCueAtom } from './SubtitleCueAtom';
import type { SubtitleCueMapAtom } from './SubtitleCueMapAtom';
export declare enum SubtitleBaseExportNames {
    SubtitleCueMapAtom = "subtitle-cue-map-atom",
    CreateSubtitleCueAtom = "create-subtitle-cue-map-atom",
    SubtitleBufferClearingTask = "subtitle-buffer-clearing-task"
}
export type SubtitleBaseDependencies = {
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.Utils]: CoreUtils;
    [CoreExportNames.Constants]: Constants;
    [CoreExportNames.CoreEffects]: CoreEffects;
    [SourceExportNames.SourceState]: SourceStateAtom;
    [DataExportNames.StreamTimeline]: StreamTimelineAtom;
} & StreamDataStructureSelectionGroups & StreamDataStructureSegments & StreamingState;
export type SubtitleBaseExports = {
    [SubtitleBaseExportNames.SubtitleCueMapAtom]: SubtitleCueMapAtom;
    [SubtitleBaseExportNames.CreateSubtitleCueAtom]: typeof createSubtitleCueAtom;
    [SubtitleBaseExportNames.SubtitleBufferClearingTask]: typeof SubtitleBufferClearingTask;
};
export type SubtitleBaseContext = ContextHaving<SubtitleBaseDependencies, SubtitleBaseExports, ContextWithState>;
