import { Representation, Segment, SegmentReference, Stream, TemplateSegment, TemplateSegmentReference, TextRepresentation } from '../../../providers/DashProviderNew/lib/types';
import { IAudioStream, IAudioTrack, IInternalTextTrack, IVideoStream, IVideoTrack } from '../../../player/types';
import { IRange, Milliseconds } from '@vkontakte/videoplayer-shared';
export declare const representationToVideoTrack: ({ id, width, height, bitrate, fps, quality: qualityString, streamId }: Representation) => IVideoTrack | undefined;
export declare const representationToAudioTrack: ({ id, bitrate }: Representation) => IAudioTrack;
export declare const representationToTextTrack: ({ language, label }: Stream, { id, url, isAuto }: Representation & {
    url: string;
    isAuto: boolean;
}) => IInternalTextTrack;
export declare const textRepresentationToTextTrack: ({ language, label, id, url, isAuto }: TextRepresentation) => IInternalTextTrack;
export declare const streamToIAudioStream: ({ id, language, label, codecs, isDefault }: Stream) => IAudioStream;
export declare const streamToIVideoStream: ({ id, language, label, hdr, codecs }: Stream) => IVideoStream;
export declare const isTemplateSegment: (segment: Segment) => segment is TemplateSegment;
export declare const isTemplateSegmentReference: (segmentReference: SegmentReference) => segmentReference is TemplateSegmentReference;
export declare const isAbortError: (e: Error | unknown) => boolean;
export declare const isTextRepresentation: (representation: Representation | TextRepresentation) => representation is TextRepresentation;
/**
 * @mutates intervals
 */
export declare const mergeIntervals: (intervals: IRange<Milliseconds>[]) => IRange<Milliseconds>[];
export declare const findInIterator: <T>(iterable: MapIterator<T> | SetIterator<T>, matchFn: (arg: T) => boolean) => T | null;
