import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
import type { EmptyObject } from '../../../../Types';
import type { TimeRange } from '../../../stream-data-structure/track/TrackAtom';
import type { ContextWithState } from '../../../Types';
import type { CoreStateAtoms } from '../../Types';
import { CoreExportNames } from '../../Types';
import type { CoreUtils } from '../../utils/Types';
import type { StateAtom } from '../Types';
import type { StreamSequenceMapAtom } from './StreamSequenceMapAtom';
export type StreamSectionAtom = StateAtom<StreamSection>;
type ExtendedContext = ContextHaving<{
    [CoreExportNames.Utils]: CoreUtils;
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
}, EmptyObject, ContextWithState>;
export type StreamSection = {
    timeRange: TimeRange;
    sequenceNumber: number;
    streamSequenceMap: StreamSequenceMapAtom;
};
export declare const createStreamSectionAtom: (context: ExtendedContext) => StreamSectionAtom;
export {};
