/*!
 * Copyright (c) 2026-present, Vanilagy and contributors
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */
import { Demuxer } from '../demuxer.js';
import { Input } from '../input.js';
import { InputTrackBacking } from '../input-track.js';
import { MetadataTags } from '../metadata.js';
import { HlsSegmentedInput } from './hls-segmented-input.js';
type InternalTrack = {
    id: number;
    demuxer: HlsDemuxer;
    backingTrack: InputTrackBacking | null;
    default: boolean;
    autoselect: boolean;
    languageCode: string;
    lineNumber: number;
    fullPath: string;
    fullCodecString: string;
    pairingMask: bigint;
    peakBitrate: number | null;
    averageBitrate: number | null;
    name: string | null;
    hasOnlyKeyPackets: boolean;
    info: {
        type: 'video';
        width: number | null;
        height: number | null;
    } | {
        type: 'audio';
        numberOfChannels: number | null;
    };
};
export declare class HlsDemuxer extends Demuxer {
    metadataPromise: Promise<void> | null;
    trackBackings: InputTrackBacking[] | null;
    internalTracks: InternalTrack[] | null;
    segmentedInputs: HlsSegmentedInput[];
    hasMasterPlaylist: boolean;
    constructor(input: Input);
    readMetadata(): Promise<void>;
    getTrackBackings(): Promise<InputTrackBacking[]>;
    getSegmentedInputForPath(path: string): HlsSegmentedInput;
    getMetadataTags(): Promise<MetadataTags>;
    getMimeType(): Promise<string>;
    dispose(): void;
}
export {};
//# sourceMappingURL=hls-demuxer.d.ts.map