import type { ContextHaving } from '../../../../framework-types/execution-context/Types'; import type { EmptyObject } from '../../../Types'; import { CoreExportNames } from '../../core/Types'; import type { CoreUtils } from '../../core/utils/Types'; import type { DataOrSelfInitSegmentAtom } from '../../stream-data-structure/segment/SegmentAtom'; import type { TimeRange } from '../../stream-data-structure/track/TrackAtom'; import type { ContextWithState } from '../../Types'; type ExtendedContext = ContextHaving<{ [CoreExportNames.Utils]: CoreUtils; }, EmptyObject, ContextWithState>; interface MediaRanges { source: { [sourceId: string]: DataOrSelfInitSegmentAtom[]; }; enclosingRange: TimeRange; ranges: TimeRange[]; } interface DataRanges { media: { [mediaId: string]: MediaRanges; }; } export type DataRangesAtom = ReturnType; export declare const createDataRangesAtom: (ctx: ExtendedContext) => import("../../core/state/Types").StateAtom boolean; removeSegment: (dataRanges: DataRanges, mediaId: string, sourceId: string, segment: DataOrSelfInitSegmentAtom) => boolean; clear: (dataRanges: DataRanges) => boolean; deleteMediaId: (dataRanges: DataRanges, mediaId: string) => boolean; deleteSource: (dataRanges: DataRanges, mediaId: string, sourceId: string) => boolean; }>; export {};