/** * @packageDocumentation Case-insensitive key-value container for audio metadata properties. */ /** * A case-insensitive key-value container for audio metadata properties. * Keys are normalised to uppercase (e.g. `"TITLE"`, `"ARTIST"`). * * Mirrors the TagLib `PropertyMap` API. Each key maps to an ordered list of * string values, allowing multi-valued tags such as multiple artists. */ export declare class PropertyMap { /** Internal storage — keys are always stored in uppercase. */ private _map; /** Keys from the original tag that this map does not know how to represent. */ private _unsupported; /** Converts `key` to its canonical uppercase form used for storage. */ private static normalizeKey; /** The number of distinct keys in the map. */ get size(): number; /** Insert (append) values for a key. */ insert(key: string, values: string[]): void; /** Replace all values for a key. */ replace(key: string, values: string[]): void; /** Check whether a key exists (case-insensitive). */ contains(key: string): boolean; /** Get values for a key, or undefined if not present. */ get(key: string): string[] | undefined; /** Remove a key. Returns true if the key existed. */ erase(key: string): boolean; /** Iterate over all entries. */ entries(): IterableIterator<[string, string[]]>; /** Iterate over all keys. */ keys(): IterableIterator; /** Remove all entries. */ clear(): void; /** Merge another PropertyMap into this one (concatenating values). */ merge(other: PropertyMap): void; /** Remove entries whose value arrays are empty. */ removeEmpty(): void; /** * Returns a copy of the list of keys that could not be mapped to a * standard property name. */ unsupportedData(): string[]; /** * Records `key` as an unsupported tag field that this map cannot represent. * * @param key - The raw tag key to mark as unsupported. */ addUnsupportedData(key: string): void; /** Returns a human-readable representation of the map and unsupported keys. */ toString(): string; } //# sourceMappingURL=propertyMap.d.ts.map