import type { SegmentAtom } from '../../../../stream-data-structure/segment/SegmentAtom';
import type { SelectionGroupAtom } from '../../../../stream-data-structure/selection-group/SelectionGroupAtom';
import type { StreamAtom } from '../../../../stream-data-structure/stream/StreamAtom';
import type { AudioTrackAtom, MediaTrackAtom, SubtitleTrackAtom, TrackAtom, VideoTrackAtom } from '../../../../stream-data-structure/track/TrackAtom';
import type { SegmentEntry } from '../../parsing/Types';
import type { HlsTranslationPackageContext } from '../HlsTranslation.package';
export declare function createSelectionGroup(context: HlsTranslationPackageContext, track: TrackAtom): import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").UnknownSelectionGroupAtom | import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").AudioSelectionGroupAtom | import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").VideoSelectionGroupAtom | import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").SubtitleSelectionGroupAtom;
export declare function findOrCreateSelectionGroup(context: HlsTranslationPackageContext, track: TrackAtom, selectionGroups: readonly SelectionGroupAtom[]): SelectionGroupAtom;
export declare function createTrack(context: HlsTranslationPackageContext, variantUrl: string, stream: StreamAtom, discontinuitySequenceNumber: number, referenceTrack?: TrackAtom): AudioTrackAtom | VideoTrackAtom | SubtitleTrackAtom | import("../../../../stream-data-structure/track/TrackAtom").UnknownTrackAtom;
export declare function findTracksOfVariant(context: HlsTranslationPackageContext, stream: StreamAtom, variantUrl: string): TrackAtom[];
export declare function findOrCreateTrack(context: HlsTranslationPackageContext, variantUrl: string, segment: SegmentEntry, stream: StreamAtom, referenceTrack?: TrackAtom): TrackAtom;
export declare function hasSegment(track: MediaTrackAtom, segment: SegmentEntry): boolean;
export declare function isMatchingSegment(segment: SegmentAtom, entry: SegmentEntry): boolean;
export declare function maybeSetSelectionGroupContainerFormat(context: HlsTranslationPackageContext, selectionGroup: SelectionGroupAtom): void;
