import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { EmptyObject } from '../../../Types';
import type { ContextWithState } from '../../Types';
import type { Constants } from '../Constants';
import { MediaType } from '../Constants';
import type { CodecMapAtom } from '../state/codec-map/CodecMapAtom';
import type { CoreStateAtoms } from '../Types';
import { CoreExportNames } from '../Types';
declare function hasOldAvc1CodecFormat(codec: string): boolean;
declare function convertAvc1ToAvcotiCodecFormat(avc1: string): string;
declare function extractCodecStrings(codecStrings: string[] | readonly string[]): CodecMap;
type ExtendedContext = ContextHaving<{
    [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
    [CoreExportNames.Constants]: Constants;
}, EmptyObject, ContextWithState>;
declare function extractCodecMap(context: ExtendedContext, codecs: string): CodecMapAtom;
declare function canSwitchBetweenAudioCodecs(codec1: string, codec2: string): boolean;
declare function extractCodec(codecString: string): string | undefined;
export type CodecMimeType = 'audio' | 'video' | 'application' | 'unknown';
export type CodecMap = Partial<{
    [key in CodecMimeType]: string[];
}>;
export interface HvcC {
    height: number;
    width: number;
    general_profile_space: number;
    general_profile_idc: number;
    general_profile_compatibility_flags: number;
    general_tier_flag: number;
    general_level_idc: number;
    general_constraint_indicator_flags_bytes: number[];
}
declare function getMediaTypeFromCodec(codec: string): MediaType | undefined;
declare function isAvMediaType(mediaType: MediaType): mediaType is MediaType.Audio | MediaType.Video;
declare function isMediaType(str: string): str is MediaType;
declare const _default: {
    hasOldAvc1CodecFormat: typeof hasOldAvc1CodecFormat;
    convertAvc1ToAvcotiCodecFormat: typeof convertAvc1ToAvcotiCodecFormat;
    extractCodecStrings: typeof extractCodecStrings;
    extractCodecMap: typeof extractCodecMap;
    canSwitchBetweenAudioCodecs: typeof canSwitchBetweenAudioCodecs;
    extractCodec: typeof extractCodec;
    getMediaTypeFromCodec: typeof getMediaTypeFromCodec;
    isAvMediaType: typeof isAvMediaType;
    isMediaType: typeof isMediaType;
};
export default _default;
