import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { EmptyObject } from '../../../Types';
import type { Constants, ContainerFormat } from '../../core/Constants';
import { CoreExportNames } from '../../core/Types';
import type { CoreUtils } from '../../core/utils/Types';
import type { ContextWithState } from '../../Types';
import type { DataOrSelfInitSegmentAtom, SegmentAtom } from './SegmentAtom';
type ExtendedContext = ContextHaving<{
    [CoreExportNames.Utils]: CoreUtils;
    [CoreExportNames.Constants]: Constants;
}, EmptyObject, ContextWithState>;
declare function areSegmentsOverlapping(segments: DataOrSelfInitSegmentAtom[]): boolean;
declare function resetData(segment: SegmentAtom, { effects: { state, logger } }: ContextWithState): void;
declare function resolveContainerFormatFromUrl(context: ExtendedContext, url: string): ContainerFormat | undefined;
declare function resolveContainerFormatFromExtension(context: ExtendedContext, extension: string): ContainerFormat | undefined;
export declare const SegmentUtils: {
    areSegmentsOverlapping: typeof areSegmentsOverlapping;
    resetData: typeof resetData;
    resolveContainerFormatFromUrl: typeof resolveContainerFormatFromUrl;
    resolveContainerFormatFromExtension: typeof resolveContainerFormatFromExtension;
};
export {};
