import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { NamedTask, Task } from '../../../../framework-types/task/Types';
import type { Constants, SubtitleFormatType } 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 { StreamDataStructureSelectionGroups } from '../../stream-data-structure/selection-group/Exports';
import type { StreamDataStructureTracks } from '../../stream-data-structure/track/Exports';
import type { ContextWithState } from '../../Types';
export declare enum SubtitleFormatDetectionExportNames {
    GetSegmentFormatTypeTask = "get-subtitle-segment-format-type-task"
}
export type SubtitleFormatDetectionExports = {
    [SubtitleFormatDetectionExportNames.GetSegmentFormatTypeTask]: GetSegmentFormatTypeTaskType;
};
export type SubtitleFormatDetectionDependencies = {
    [CoreExportNames.Utils]: CoreUtils;
    [CoreExportNames.Constants]: Constants;
    [CoreExportNames.CoreEffects]: CoreEffects;
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [DataExportNames.StreamTimeline]: StreamTimelineAtom;
} & StreamDataStructureSelectionGroups & StreamDataStructureTracks;
export type SubtitleFormatDetectionContext = ContextHaving<SubtitleFormatDetectionDependencies, SubtitleFormatDetectionExports, ContextWithState>;
export type GetSegmentFormatTypeTaskType = NamedTask<Task<SubtitleFormatDetectionContext, Uint8Array, SubtitleFormatType>>;
