import { WebmBase } from "./WebmBase"; import { SectionKey, SectionsMap } from "./sections"; import { SectionType } from "./SectionType"; import { WebmUint } from "./WebmUint"; import { WebmFloat } from "./WebmFloat"; import { WebmString } from "./WebmString"; type SectionTypeMap = { [SectionType.Container]: WebmContainer; [SectionType.Uint]: WebmUint; [SectionType.Float]: WebmFloat; [SectionType.String]: WebmString; }; type TypeBySectionKey = SectionsMap[IdType]["type"] extends keyof SectionTypeMap ? SectionTypeMap[SectionsMap[IdType]["type"]] : WebmBase; export interface WebmContainerItem { id: IdType; idHex?: string; data: TypeBySectionKey; } export declare class WebmContainer extends WebmBase { isInfinite: boolean; offset: number; constructor(name?: string, isInfinite?: boolean, start?: number); getType(): string; readByte(): number; readUint(): number; updateBySource(): void; writeUint(x: number, draft?: boolean): void; writeSections(draft?: boolean): number; updateByData(): void; getSectionById(id: IdType): TypeBySectionKey | null; } export {};