/**
 * Comprehensive property definitions with metadata for all supported audio metadata fields.
 * This is the single source of truth for all property information including descriptions,
 * types, format support, and format-specific mappings.
 *
 * Keys are camelCase (e.g. "title", "musicbrainzTrackId"). Each entry's `.key` field
 * contains the TagLib ALL_CAPS wire name (e.g. "TITLE", "MUSICBRAINZ_TRACKID").
 *
 * Use `toTagLibKey()` / `fromTagLibKey()` to translate between the two vocabularies.
 */
export declare const PROPERTIES: {
    readonly albumArtistSort: {
        readonly key: "ALBUMARTISTSORT";
        readonly description: "Sort name for album artist (for alphabetization)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TSO2";
            };
            readonly vorbis: "ALBUMARTISTSORT";
            readonly mp4: "soaa";
        };
    };
    readonly composerSort: {
        readonly key: "COMPOSERSORT";
        readonly description: "Sort name for composer (for alphabetization)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TSOC";
            };
            readonly vorbis: "COMPOSERSORT";
            readonly mp4: "soco";
        };
    };
    readonly subtitle: {
        readonly key: "SUBTITLE";
        readonly description: "Subtitle or description refinement";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TIT3";
            };
            readonly vorbis: "SUBTITLE";
            readonly mp4: "----:com.apple.iTunes:SUBTITLE";
        };
    };
    readonly label: {
        readonly key: "LABEL";
        readonly description: "Record label name";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TPUB";
            };
            readonly vorbis: "LABEL";
            readonly mp4: "----:com.apple.iTunes:LABEL";
            readonly wav: "IPUB";
        };
    };
    readonly producer: {
        readonly key: "PRODUCER";
        readonly description: "Producer of the recording";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "PRODUCER";
            };
            readonly vorbis: "PRODUCER";
            readonly mp4: "----:com.apple.iTunes:PRODUCER";
        };
    };
    readonly radioStationOwner: {
        readonly key: "RADIOSTATIONOWNER";
        readonly description: "Owner of the radio station";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TRSO";
            };
        };
    };
    readonly asin: {
        readonly key: "ASIN";
        readonly description: "Amazon Standard Identification Number";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "ASIN";
            };
            readonly vorbis: "ASIN";
            readonly mp4: "----:com.apple.iTunes:ASIN";
        };
    };
    readonly musicbrainzReleaseArtistId: {
        readonly key: "MUSICBRAINZ_ALBUMARTISTID";
        readonly description: "MusicBrainz Release Artist ID (UUID)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "MusicBrainz Album Artist Id";
            };
            readonly vorbis: "MUSICBRAINZ_ALBUMARTISTID";
            readonly mp4: "----:com.apple.iTunes:MusicBrainz Album Artist Id";
        };
    };
    readonly musicbrainzWorkId: {
        readonly key: "MUSICBRAINZ_WORKID";
        readonly description: "MusicBrainz Work ID (UUID)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "MusicBrainz Work Id";
            };
            readonly vorbis: "MUSICBRAINZ_WORKID";
            readonly mp4: "----:com.apple.iTunes:MusicBrainz Work Id";
        };
    };
    readonly musicbrainzReleaseTrackId: {
        readonly key: "MUSICBRAINZ_RELEASETRACKID";
        readonly description: "MusicBrainz Release Track ID (UUID)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "MusicBrainz Release Track Id";
            };
            readonly vorbis: "MUSICBRAINZ_RELEASETRACKID";
            readonly mp4: "----:com.apple.iTunes:MusicBrainz Release Track Id";
        };
    };
    readonly podcastId: {
        readonly key: "PODCASTID";
        readonly description: "Podcast episode identifier";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TGID";
            };
            readonly vorbis: "PODCASTID";
            readonly mp4: "egid";
        };
    };
    readonly podcastUrl: {
        readonly key: "PODCASTURL";
        readonly description: "Podcast feed URL";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "WFED";
            };
            readonly vorbis: "PODCASTURL";
            readonly mp4: "purl";
        };
    };
    readonly originalArtist: {
        readonly key: "ORIGINALARTIST";
        readonly description: "Original artist of a cover or remix";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TOPE";
            };
            readonly vorbis: "ORIGINALARTIST";
        };
    };
    readonly originalAlbum: {
        readonly key: "ORIGINALALBUM";
        readonly description: "Original album of a cover or remix";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TOAL";
            };
            readonly vorbis: "ORIGINALALBUM";
        };
    };
    readonly originalDate: {
        readonly key: "ORIGINALDATE";
        readonly description: "Original release date";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TDOR";
            };
            readonly vorbis: "ORIGINALDATE";
            readonly mp4: "----:com.apple.iTunes:ORIGINALDATE";
        };
    };
    readonly script: {
        readonly key: "SCRIPT";
        readonly description: "Writing script used for text (e.g., Latn, Jpan)";
        readonly type: "string";
        readonly supportedFormats: readonly ["MP4", "Vorbis"];
        readonly mappings: {
            readonly vorbis: "SCRIPT";
            readonly mp4: "----:com.apple.iTunes:SCRIPT";
        };
    };
    readonly involvedPeople: {
        readonly key: "INVOLVEDPEOPLE";
        readonly description: "List of involved people and their roles";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TIPL";
            };
        };
    };
    readonly encoding: {
        readonly key: "ENCODING";
        readonly description: "Encoding software or settings";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TSSE";
            };
            readonly vorbis: "ENCODING";
            readonly mp4: "©too";
            readonly wav: "ISFT";
        };
    };
    readonly musicbrainzArtistId: {
        readonly key: "MUSICBRAINZ_ARTISTID";
        readonly description: "MusicBrainz Artist ID (UUID)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "MusicBrainz Artist Id";
            };
            readonly vorbis: "MUSICBRAINZ_ARTISTID";
            readonly mp4: "----:com.apple.iTunes:MusicBrainz Artist Id";
        };
    };
    readonly musicbrainzReleaseId: {
        readonly key: "MUSICBRAINZ_ALBUMID";
        readonly description: "MusicBrainz Release ID (UUID)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "MusicBrainz Album Id";
            };
            readonly vorbis: "MUSICBRAINZ_ALBUMID";
            readonly mp4: "----:com.apple.iTunes:MusicBrainz Album Id";
        };
    };
    readonly musicbrainzTrackId: {
        readonly key: "MUSICBRAINZ_TRACKID";
        readonly description: "MusicBrainz Recording ID (UUID)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "UFID";
                readonly description: "http://musicbrainz.org";
            };
            readonly vorbis: "MUSICBRAINZ_TRACKID";
            readonly mp4: "----:com.apple.iTunes:MusicBrainz Track Id";
        };
    };
    readonly musicbrainzReleaseGroupId: {
        readonly key: "MUSICBRAINZ_RELEASEGROUPID";
        readonly description: "MusicBrainz Release Group ID (UUID)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "MusicBrainz Release Group Id";
            };
            readonly vorbis: "MUSICBRAINZ_RELEASEGROUPID";
            readonly mp4: "----:com.apple.iTunes:MusicBrainz Release Group Id";
        };
    };
    readonly replayGainTrackGain: {
        readonly key: "REPLAYGAIN_TRACK_GAIN";
        readonly description: "ReplayGain track gain in dB (e.g., '-6.54 dB')";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "ReplayGain_Track_Gain";
            };
            readonly vorbis: "REPLAYGAIN_TRACK_GAIN";
            readonly mp4: "----:com.apple.iTunes:replaygain_track_gain";
        };
    };
    readonly replayGainTrackPeak: {
        readonly key: "REPLAYGAIN_TRACK_PEAK";
        readonly description: "ReplayGain track peak value (0.0-1.0)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "ReplayGain_Track_Peak";
            };
            readonly vorbis: "REPLAYGAIN_TRACK_PEAK";
            readonly mp4: "----:com.apple.iTunes:replaygain_track_peak";
        };
    };
    readonly replayGainAlbumGain: {
        readonly key: "REPLAYGAIN_ALBUM_GAIN";
        readonly description: "ReplayGain album gain in dB";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "ReplayGain_Album_Gain";
            };
            readonly vorbis: "REPLAYGAIN_ALBUM_GAIN";
            readonly mp4: "----:com.apple.iTunes:replaygain_album_gain";
        };
    };
    readonly replayGainAlbumPeak: {
        readonly key: "REPLAYGAIN_ALBUM_PEAK";
        readonly description: "ReplayGain album peak value (0.0-1.0)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "ReplayGain_Album_Peak";
            };
            readonly vorbis: "REPLAYGAIN_ALBUM_PEAK";
            readonly mp4: "----:com.apple.iTunes:replaygain_album_peak";
        };
    };
    readonly acoustidFingerprint: {
        readonly key: "ACOUSTID_FINGERPRINT";
        readonly description: "AcoustID fingerprint (Chromaprint)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "Acoustid Fingerprint";
            };
            readonly vorbis: "ACOUSTID_FINGERPRINT";
            readonly mp4: "----:com.apple.iTunes:Acoustid Fingerprint";
        };
    };
    readonly acoustidId: {
        readonly key: "ACOUSTID_ID";
        readonly description: "AcoustID UUID";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "Acoustid Id";
            };
            readonly vorbis: "ACOUSTID_ID";
            readonly mp4: "----:com.apple.iTunes:Acoustid Id";
        };
    };
    readonly appleSoundCheck: {
        readonly key: "ITUNNORM";
        readonly description: "Apple Sound Check normalization data";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "iTunNORM";
            };
            readonly vorbis: "ITUNNORM";
            readonly mp4: "----:com.apple.iTunes:iTunNORM";
        };
    };
    readonly appleGaplessInfo: {
        readonly key: "ITUNSMPB";
        readonly description: "Apple gapless playback data (encoder delay and padding)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TXXX";
                readonly description: "iTunSMPB";
            };
            readonly vorbis: "ITUNSMPB";
            readonly mp4: "----:com.apple.iTunes:iTunSMPB";
        };
    };
    readonly albumArtist: {
        readonly key: "ALBUMARTIST";
        readonly description: "The album artist (band/orchestra/ensemble)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TPE2";
            };
            readonly vorbis: "ALBUMARTIST";
            readonly mp4: "aART";
        };
    };
    readonly composer: {
        readonly key: "COMPOSER";
        readonly description: "The original composer(s) of the track";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TCOM";
            };
            readonly vorbis: "COMPOSER";
            readonly mp4: "©wrt";
        };
    };
    readonly copyright: {
        readonly key: "COPYRIGHT";
        readonly description: "Copyright information";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "Vorbis"];
        readonly mappings: {
            readonly vorbis: "COPYRIGHT";
        };
    };
    readonly encodedBy: {
        readonly key: "ENCODEDBY";
        readonly description: "The encoding software or person";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "Vorbis"];
        readonly mappings: {
            readonly vorbis: "ENCODEDBY";
        };
    };
    readonly discNumber: {
        readonly key: "DISCNUMBER";
        readonly description: "The disc number for multi-disc sets";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TPOS";
            };
            readonly vorbis: "DISCNUMBER";
            readonly mp4: "disk";
        };
    };
    readonly bpm: {
        readonly key: "BPM";
        readonly description: "Beats per minute";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TBPM";
            };
            readonly vorbis: "BPM";
            readonly mp4: "tmpo";
        };
    };
    readonly totalTracks: {
        readonly key: "TRACKTOTAL";
        readonly description: "Total number of tracks on the album";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TRCK";
            };
            readonly vorbis: "TRACKTOTAL";
            readonly mp4: "trkn";
        };
    };
    readonly totalDiscs: {
        readonly key: "DISCTOTAL";
        readonly description: "Total number of discs in the set";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TPOS";
            };
            readonly vorbis: "DISCTOTAL";
            readonly mp4: "disk";
        };
    };
    readonly compilation: {
        readonly key: "COMPILATION";
        readonly description: "Whether the album is a compilation (various artists)";
        readonly type: "boolean";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TCMP";
            };
            readonly vorbis: "COMPILATION";
            readonly mp4: "cpil";
        };
    };
    readonly titleSort: {
        readonly key: "TITLESORT";
        readonly description: "Sort name for title (for alphabetization)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TSOT";
            };
            readonly vorbis: "TITLESORT";
            readonly mp4: "sonm";
        };
    };
    readonly artistSort: {
        readonly key: "ARTISTSORT";
        readonly description: "Sort name for artist (for alphabetization)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TSOP";
            };
            readonly vorbis: "ARTISTSORT";
            readonly mp4: "soar";
        };
    };
    readonly albumSort: {
        readonly key: "ALBUMSORT";
        readonly description: "Sort name for album (for alphabetization)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TSOA";
            };
            readonly vorbis: "ALBUMSORT";
            readonly mp4: "soal";
        };
    };
    readonly lyricist: {
        readonly key: "LYRICIST";
        readonly description: "The lyrics/text writer(s)";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "LYRICIST";
        };
    };
    readonly conductor: {
        readonly key: "CONDUCTOR";
        readonly description: "The conductor";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "CONDUCTOR";
        };
    };
    readonly remixedBy: {
        readonly key: "REMIXER";
        readonly description: "Person who remixed the track";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TPE4";
            };
            readonly vorbis: "REMIXER";
            readonly mp4: "----:com.apple.iTunes:REMIXER";
        };
    };
    readonly language: {
        readonly key: "LANGUAGE";
        readonly description: "Language of vocals/lyrics";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "LANGUAGE";
        };
    };
    readonly publisher: {
        readonly key: "PUBLISHER";
        readonly description: "The publisher";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "PUBLISHER";
        };
    };
    readonly mood: {
        readonly key: "MOOD";
        readonly description: "The mood/atmosphere of the track";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "MOOD";
        };
    };
    readonly media: {
        readonly key: "MEDIA";
        readonly description: "Media type (CD, vinyl, etc.)";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "MEDIA";
        };
    };
    readonly grouping: {
        readonly key: "GROUPING";
        readonly description: "Content group/work";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "GROUPING";
        };
    };
    readonly work: {
        readonly key: "WORK";
        readonly description: "Work name";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "WORK";
        };
    };
    readonly lyrics: {
        readonly key: "LYRICS";
        readonly description: "Lyrics content";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "LYRICS";
        };
    };
    readonly isrc: {
        readonly key: "ISRC";
        readonly description: "International Standard Recording Code";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "ISRC";
        };
    };
    readonly catalogNumber: {
        readonly key: "CATALOGNUMBER";
        readonly description: "Catalog number";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "CATALOGNUMBER";
        };
    };
    readonly barcode: {
        readonly key: "BARCODE";
        readonly description: "Barcode (EAN/UPC)";
        readonly type: "string";
        readonly supportedFormats: readonly ["Vorbis"];
        readonly mappings: {
            readonly vorbis: "BARCODE";
        };
    };
    readonly title: {
        readonly key: "TITLE";
        readonly description: "The title of the track";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TIT2";
            };
            readonly vorbis: "TITLE";
            readonly mp4: "©nam";
            readonly wav: "INAM";
        };
    };
    readonly artist: {
        readonly key: "ARTIST";
        readonly description: "The primary performer(s) of the track";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TPE1";
            };
            readonly vorbis: "ARTIST";
            readonly mp4: "©ART";
            readonly wav: "IART";
        };
    };
    readonly album: {
        readonly key: "ALBUM";
        readonly description: "The album/collection name";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TALB";
            };
            readonly vorbis: "ALBUM";
            readonly mp4: "©alb";
            readonly wav: "IPRD";
        };
    };
    readonly date: {
        readonly key: "DATE";
        readonly description: "The date of recording (typically year)";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TDRC";
            };
            readonly vorbis: "DATE";
            readonly mp4: "©day";
            readonly wav: "ICRD";
        };
    };
    readonly trackNumber: {
        readonly key: "TRACKNUMBER";
        readonly description: "The track number within the album";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TRCK";
            };
            readonly vorbis: "TRACKNUMBER";
            readonly mp4: "trkn";
            readonly wav: "ITRK";
        };
    };
    readonly genre: {
        readonly key: "GENRE";
        readonly description: "The musical genre";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "TCON";
            };
            readonly vorbis: "GENRE";
            readonly mp4: "©gen";
            readonly wav: "IGNR";
        };
    };
    readonly comment: {
        readonly key: "COMMENT";
        readonly description: "Comments or notes about the track";
        readonly type: "string";
        readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
        readonly mappings: {
            readonly id3v2: {
                readonly frame: "COMM";
            };
            readonly vorbis: "COMMENT";
            readonly mp4: "©cmt";
            readonly wav: "ICMT";
        };
    };
};
/**
 * Type representing all valid property keys from the PROPERTIES object.
 * This provides TypeScript autocomplete and type safety.
 */
export type PropertyKey = keyof typeof PROPERTIES;
/**
 * Type representing the property value type based on the property definition.
 * Currently all properties are strings, but this allows for future expansion.
 */
export type PropertyValue<K extends PropertyKey> = typeof PROPERTIES[K]["type"] extends "string" ? string : typeof PROPERTIES[K]["type"] extends "number" ? number : typeof PROPERTIES[K]["type"] extends "boolean" ? boolean : string;
/** Translate a camelCase property key to TagLib's ALL_CAPS wire key. Unknown keys pass through. */
export declare function toTagLibKey(key: string): string;
/**
 * TagLib wire key for a standard MP4 atom name, or `undefined` for a freeform
 * atom or one we do not model.
 */
export declare function mp4AtomWireKey(atom: string): string | undefined;
/**
 * Exact MP4 atom names for the given TagLib wire keys, for keys backed by a
 * mixed-case freeform atom. Empty when none apply, which is the common case.
 */
export declare function mp4FreeformAtomNames(wireKeys: Iterable<string>): string[];
/** Translate a TagLib ALL_CAPS wire key to a camelCase property key. Unknown keys pass through. */
export declare function fromTagLibKey(key: string): string;
/** Remap all keys of an object from TagLib ALL_CAPS to camelCase. */
export declare function remapKeysFromTagLib<V>(obj: Record<string, V>): Record<string, V>;
export type { PropertyMetadata } from "./property-types.js";
//# sourceMappingURL=properties.d.ts.map