/* auto-generated by NAPI-RS */ /* eslint-disable */ /** * Represents the `agentRegistry` table in the Rekordbox database. * * This struct maps to the `agentRegistry` table in the SQLite database used by Rekordbox. * It contains various fields representing metadata and attributes of the Rekordbox collection. * Each entry has a unique name as `registry_id`. The local update sequence number (USN), for * example, is used to track changes made to the entry locally and if stored in the entry * with `registry_id="localUpdateCount"`. * Some important fields include: * * localUpdateCount * * SyncAnalysisDataRootPath * * SyncSettingsRootPath * * LangPath */ export interface AgentRegistry { /** A unique identifier for the registry entry. */ registryId: string /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string field for additional identifier data. */ id1?: string /** An optional string field for additional identifier data. */ id2?: string /** An optional integer field for numerical data. */ int1?: number /** An optional integer field for numerical data. */ int2?: number /** An optional string field for textual data. */ str1?: string /** An optional string field for textual data. */ str2?: string /** An optional string field for date-related data. */ date1?: string /** An optional string field for date-related data. */ date2?: string /** An optional string field for extended text data. */ text1?: string /** An optional string field for extended text data. */ text2?: string } /** * Represents the `album` table in the Rekordbox One Library database. * * This struct maps to the `album` table in the One Library export database. * It stores album-related data, allowing multiple tracks to be associated with the same album. * This table includes metadata such as album name, artist, and compilation status. * * # Referenced by * * [`Content`] via `album_id` foreign key. * * # References * * [`Artist`] via `artist_id` foreign key. * * [`Image`] via `image_id` foreign key. */ export interface Album { /** The unique identifier of the album. */ id: number /** The name of the album. */ name: string /** An optional foreign key referencing the album [`Artist`]. */ artistId?: number /** An optional foreign key referencing the album artwork [`Image`]. */ imageId?: number /** A flag if the album is a compilation. */ isCompilation: number /** An optional string used for searching the album. */ nameForSearch?: string } export declare const enum Analyzed { NotAnalyzed = 0, Standard = 105, Advanced = 121, Locked = 233 } /** * Represents the `artist` table in the Rekordbox One Library database. * * This struct maps to the `artist` table in the One Library export database. * It stores artist-related data, allowing multiple tracks to be associated with the same artist. * * # Referenced by * * [`Album`] via `artist_id` foreign key. * * [`Content`] via `artist_id`, `remixer_id`, `original_artist_id`, `composer_id` and `lyricist_id` foreign keys. */ export interface Artist { /** The unique identifier of the artist. */ id: number /** The name of the artist. */ name: string /** An optional field for storing a search-optimized version of the artist name. */ nameForSearch?: string } /** * Represents the `category` table in the Rekordbox One Library database. * * This struct maps to the `category` table in the One Library export database. * * # References * * [`MenuItem`] via `menu_item_id` foreign key. */ export interface Category { /** The unique identifier of the category. */ id: number /** A foreign key referencing the [`MenuItem`]. */ menuItemId: number /** The sequence/order of the category. */ seq: number /** A flag if the category is visible. */ isVisible: number } /** * Represents the `cloudAgentRegistry` table in the Rekordbox database. * * This struct maps to the `cloudAgentRegistry` table in the SQLite database used by Rekordbox. * It contains similar fields as the [`AgentRegistry`], but is specifically used for cloud-related * registry entries. */ export interface CloudAgentRegistry { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional integer field for numerical data. */ int1?: number /** An optional integer field for numerical data. */ int2?: number /** An optional string field for textual data. */ str1?: string /** An optional string field for textual data. */ str2?: string /** An optional string field for date-related data. */ date1?: string /** An optional string field for date-related data. */ date2?: string /** An optional string field for extended text data. */ text1?: string /** An optional string field for extended text data. */ text2?: string } /** * Represents the `color` table in the Rekordbox One Library database. * * * # Referenced by * * [`Content`] via `color_id` foreign key. */ export interface Color { /** The unique identifier of the color. */ id: number /** The name of the color */ name: string } export interface Composer { id: number name: string nameForSearch?: string } /** * Represents the `content` table in the Rekordbox One Library database. * * This struct maps to the `content` table in the One Library export database. * It contains metadata and attributes for each track in the collection, including file info, * artist, album, genre, and more. * * # Referenced by * * [`Cue`] via `content_id` foreign key. * * [`HistoryContent`] via `content_id` foreign key. * * [`MyTagContent`] via `content_id` foreign key. * * [`PlaylistContent`] via `content_id` foreign key. * * [`RecommendedLike`] via `content_id_1` and `content_id_2` foreign keys. * * # References * * [`Artist`] via `artist_id`, `remixer_id`, `original_artist_id`, `composer_id` and `lyricist_id` foreign keys. * * [`Album`] via `album_id` foreign key. * * [`Genre`] via `genre_id` foreign key. * * [`Label`] via `label_id` foreign key. * * [`Key`] via `key_id` foreign key. * * [`Color`] via `color_id` foreign key. * * [`Image`] via `image_id` foreign key. */ export interface Content { /** The unique identifier of the content. */ id: number /** The title of the track. */ title?: string /** An optional title used for searching. */ titleForSearch?: string /** The subtitle of the track */ subtitle?: string /** The beats per minute multiplied by 100. */ bpmx100?: number /** The length of the track in seconds. */ length?: number /** The track number of the track */ trackNo?: number /** The disc number of the track */ discNo?: number /** Optional foreign key referencing the artist [`Artist`]. */ artistId?: number /** Optional foreign key referencing the remixer [`Artist`]. */ remixerId?: number /** Optional foreign key referencing the original artist [`Artist`]. */ originalArtistId?: number /** Optional foreign key referencing the composer [`Artist`]. */ composerId?: number /** Optional foreign key referencing the lyricist [`Artist`]. */ lyricistId?: number /** Optional foreign key referencing the [`Album`]. */ albumId?: number /** Optional foreign key referencing the [`Genre`]. */ genreId?: number /** Optional foreign key referencing the [`Label`]. */ labelId?: number /** Optional foreign key referencing the [`Key`]. */ keyId?: number /** Optional foreign key referencing the [`Color`]. */ colorId?: number /** Optional foreign key referencing the artwork [`Image`]. */ imageId?: number /** The ccomment of the track. */ djComment?: string /** The rating of the track. */ rating?: number /** The release year of the track. */ releaseYear?: number /** The release date of the track */ releaseDate?: string /** The date the record was created */ dateCreated: Date /** The date the record was added */ dateAdded: Date /** The relative file path of the track (usually `'/Contents//'`) */ path: string /** The file name of the track. */ fileName?: string /** The file size of the track */ fileSize?: number /** The file type of the track */ fileType: number /** The bitrate of the trackk */ bitrate?: number /** The bit depth of the track */ bitDepth?: number /** The sample rate of the track. */ samplingRate?: number /** The ISRC of the track */ isrc?: string /** A flag if hot-cue auto load is enabled */ isHotCueAutoLoadOn?: number /** A flag if kuvo delivery is enabled */ isKuvoDeliverStatusOn?: number /** A kuvo delivery comment */ kuvoDeliveryComment?: string /** The masterdb ID */ masterDbId?: number /** The ID of the contnent in the masterdb */ masterContentId?: number /** The relative path to the analysis data */ analysisDataFilePath?: string /** The number of bits analysed (?) */ analysedBits?: number /** The ID of the content in the content link database (seems to always be 788224) */ contentLink?: number /** A flag if the content has been modified */ hasModified?: number /** The number of updates to the associated cues */ cueUpdateCount?: number /** The number of updates to the analysis data */ analysisDataUpdateCount?: number /** The number of updates to the content record */ informationUpdateCount?: number } /** * Represents the `contentActiveCensor` table in the Rekordbox database. * * This struct maps to the `contentActiveCensor` table in the SQLite database used by Rekordbox. * It contains the active censor entries [`DjmdActiveCensor`] of a file as stringified JSON data. * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface ContentActiveCensor { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** A string representing the active censors. */ activeCensors: string /** The count of active censors. */ rbActivecensorCount: number } /** * Represents the `contentCue` table in the Rekordbox database. * * This struct maps to the `contentCue` table in the SQLite database used by Rekordbox. * It contains the cue entry [`DjmdCue`] of a file as stringified JSON data. * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface ContentCue { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** A JSON string representing the cue data. */ cues: string /** The count of cues. */ rbCueCount: number } /** * Represents the `contentFile` table in the Rekordbox database. * * This struct maps to the `contentFile` table in the SQLite database used by Rekordbox. * It contains metadata and attributes of the additional file of contents. These include * the analysis and artwork files linked to a track * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface ContentFile { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** The relative file path. */ path: string /** The file hash. */ hash: string /** The file size. */ size: number /** The absolute file path. */ rbLocalPath: string /** An optional string representing the in-sync file hash. */ rbInsyncHash?: string /** An optional integer representing the in-sync local update sequence number. */ rbInsyncLocalUsn?: number /** An optional integer indicating whether the file hash is dirty. */ rbFileHashDirty?: number /** An optional integer representing the local file status. */ rbLocalFileStatus?: number /** An optional integer indicating whether the file is in progress. */ rbInProgress?: number /** An optional integer representing the process type. */ rbProcessType?: number /** An optional string representing the temporary file path. */ rbTempPath?: string /** An optional integer representing the file priority. */ rbPriority?: number /** An optional integer indicating whether the file size is dirty. */ rbFileSizeDirty?: number } /** * Represents the `cue` table in the Rekordbox One Library database. * * This struct maps to the `cue` table in the One Library export database. * It stores information about cue points for tracks, including their timing, type, and * additional metadata. * * # Notes * Rekordbox internally represents time in “frames”, each being 1/150th of a second (6.666ms). * The InFrame and OutFrame values use this unit of time. However, when a track is encoded with * variable bit-rate (VBR) or average bit-rate (ABR), the InMpegFrame and OutMpegFrame values are * filled out to assist with correct seeking. Despite the names, these values are not the frame * indices within the MPEG file, but instead use an alternative timing scheme that is typically * around 1/75th of a second (13.333ms) per frame, i.e. about half the granularity of normal frames. * * # Referenced by * * [`HotCueBankListCue`] via `cue_id` foreign key. * * # References * * [`Content`] via `content_id` foreign key. */ export interface Cue { /** The unique identifier of the cue. */ id: number /** A foreign key referencing the [`Content`]. */ contentId: number /** * The type of the cue. * * 0 if a memory cue, otherwise the number of Hot Cue */ kind?: number /** An optional integer representing the index of the color in the color table. */ colorTableIndex?: number /** A comment for the cue */ cueComment?: string /** A flag whether the cue is part of an active loop. */ isActiveLoop?: number /** Unknown */ beatLoopNumerator?: number /** Unknonw */ beatLoopDenominator?: number /** The cue's start time in microseconds. */ inUsec?: number /** The cue's end time in microseconds. */ outUsec?: number /** * The cue's start frame. * * One frame is 1/150th of a second */ in150FramePerSec?: number /** * The cue's end frame or -1 if not a loop. * * One frame is 1/150th of a second */ out150FramePerSec?: number /** The cue's start MPEG frame or 0 if not a VBR/ABR MPEG file (see note). */ inMpegFrameNumber?: number /** The cue's end MPEG frame or 0 if not a loop or not a VBR/ABR MPEG file (see note) */ outMpegFrameNumber?: number /** The cue's start MPEG absolute frame or 0 if not a VBR/ABR MPEG file. */ inMpegAbs?: number /** The cue's end MPEG absolute frame or 0 if not a loop or not a VBR/ABR MPEG file */ outMpegAbs?: number /** The cue's start frame position in the decoding block. */ inDecodingStartFramePosition?: number /** The cue's end frame position in the decoding block. */ outDecodingStartFramePosition?: number /** The cue's start file offset in the decoding block. */ inFileOffsetInBlock?: number /** The cue's end file offset in the decoding block. */ outFileOffsetInBlock?: number /** The cue's start sample position in the decoding block. */ inNumberOfSampleInBlock?: number /** The cue's end sample position in the decoding block. */ outNumberOfSampleInBlock?: number } /** * Represents the `djmdActiveCensor` table in the Rekordbox database. * * This struct maps to the `djmdActiveCensor` table in the SQLite database used by Rekordbox. * It contains information for actively censoring explicit content of tracks in the Rekordbox * collection. Active Censor items behave like two cue points, between which an effect is applied * to the audio of a track. * * # References * * [`DjmdContent`] via `content_id` and `content_uuid` foreign keys. */ export interface DjmdActiveCensor { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** An optional integer representing the start time of the censor in milliseconds. */ inMsec?: number /** An optional integer representing the end time of the censor in milliseconds. */ outMsec?: number /** An optional integer representing additional information about the censor. */ info?: number /** An optional string representing the list of parameters for the censor. */ parameterList?: string /** An optional string representing the uuid of the associated [`DjmdContent`]. */ contentUuid?: string } /** * Represents the `djmdAlbum` table in the Rekordbox database. * * This struct maps to the `djmdAlbum` table in the SQLite database used by Rekordbox. * It stores album-related data, allowing multiple tracks to be associated with the same album. * This table includes metadata such as album name, artist, and compilation status. * * # Referenced by * * [`DjmdContent`] via `album_id` foreign key. * * # References * * [`DjmdArtist`] via `album_artist_id` foreign key. */ export interface DjmdAlbum { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The name of the album. */ name: string /** An optional string representing the id of the album artist [`DjmdArtist`]. */ albumArtistId?: string /** An optional string representing the path to the album's image. */ imagePath?: string /** A flag if the album is a compilation. */ compilation: number /** An optional string used for searching the album. */ searchStr?: string } /** * Represents the `djmdArtist` table in the Rekordbox database. * * This struct maps to the `djmdArtist` table in the SQLite database used by Rekordbox. * It stores artist-related data, allowing multiple tracks to be associated with the same artist. * * # Referenced by * * [`DjmdContent`] via `artist_id` foreign key. * * [`DjmdAlbum`] via `album_artist_id` foreign key. */ export interface DjmdArtist { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the name of the artist. */ name: string /** An optional string used for searching the artist. */ searchStr?: string } /** * Represents the `djmdCategory` table in the Rekordbox database. * * This struct maps to the `djmdCategory` table in the SQLite database used by Rekordbox. * It stores category-related data, which can be associated with menu items. * * # References * * [`DjmdMenuItems`] via `menu_item_id` foreign key. */ export interface DjmdCategory { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdMenuItems`]. */ menuItemId: string /** The sequence/order of the category. */ seq: number /** A flag indicating whether the category is disabled. */ disable: number /** The info order for the category. */ infoOrder: number } /** * Represents the `djmdCloudProperty` table in the Rekordbox database. * * This struct maps to the `djmdCloudProperty` table in the SQLite database used by Rekordbox. * It stores metadata and properties related to cloud-based entries, including status, * synchronization details, and reserved fields for future use. */ export interface DjmdCloudProperty { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string for reserved data. */ reserved1?: string /** An optional string for reserved data. */ reserved2?: string /** An optional string for reserved data. */ reserved3?: string /** An optional string for reserved data. */ reserved4?: string /** An optional string for reserved data. */ reserved5?: string } /** * Represents the `djmdColor` table in the Rekordbox database. * * This struct maps to the `djmdColor` table in the SQLite database used by Rekordbox. * It stores color-related data, which can be associated with tracks and other entities. * * # Referenced by * * [`DjmdContent`] via `color_id` foreign key. */ export interface DjmdColor { /** A unique identifier for the color entry. */ id: string /** A unique universal identifier for the color entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the color code (e.g., hex value). */ colorCode?: string /** The sort key for ordering colors. */ sortKey: number /** A comment (usually the name) associated with the color. */ commnt: string } /** * Represents the `djmdContent` table in the Rekordbox database. * * This struct maps to the `djmdContent` table in the SQLite database used by Rekordbox. * It contains metadata and attributes for each track in the collection, including file info, * artist, album, genre, and more. * * # Referenced by * * [`ContentActiveCensor`] via `content_id` foreign key. * * [`ContentCue`] via `content_id` foreign key. * * [`ContentFile`] via `content_id` foreign key. * * [`DjmdActiveCensor`] via `content_id` and `content_uuid` foreign keys. * * [`DjmdSongHistory`] via `content_id` foreign key. * * [`DjmdSongHotCueBanklist`] via `content_id` foreign key. * * [`DjmdMixerParam`] via `content_id` foreign key. * * [`DjmdSongMyTag`] via `content_id` foreign key. * * [`DjmdSongPlaylist`] via `content_id` foreign key. * * [`DjmdRecommendLike`] via `content_id1` and `content_id2` foreign keys. * * [`DjmdSongRelatedTracks`] via `content_id` foreign key. * * [`DjmdSongSampler`] via `content_id` foreign key. * * [`DjmdSongTagList`] via `content_id` foreign key. * * # References * * [`DjmdArtist`] via `artist_id`, `remixer_id`, `original_artist_id`, `composer_id` and `lyricist` foreign keys. * * [`DjmdAlbum`] via `album_id` foreign key. * * [`DjmdGenre`] via `genre_id` foreign key. * * [`DjmdLabel`] via `label_id` foreign key. * * [`DjmdKey`] via `key_id` foreign key. * * [`DjmdColor`] via `color_id` foreign key. */ export interface DjmdContent { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the folder path of the track. */ folderPath?: string /** An optional string representing the long file name of the track. */ fileNameL?: string /** An optional string representing the short file name of the track. */ fileNameS?: string /** An optional string representing the title of the track. */ title?: string /** An optional string representing the ID of the associated artist in [`DjmdArtist`]. */ artistId?: string /** An optional string representing the ID of the associated album in [`DjmdAlbum`]. */ albumId?: string /** An optional string representing the ID of the associated genre in [`DjmdGenre`]. */ genreId?: string /** An optional integer representing the BPM of the track. */ bpm?: number /** An optional integer representing the length of the track in milliseconds. */ length?: number /** An optional integer representing the track number in the album. */ trackNo?: number /** An optional integer representing the bit rate of the track. */ bitRate?: number /** An optional integer representing the bit depth of the track. */ bitDepth?: number /** An optional string representing comments about the track. */ commnt?: string /** An optional integer representing the file type of the track. */ fileType: number /** An optional integer representing the rating of the track. */ rating?: number /** An optional integer representing the release year of the track. */ releaseYear?: number /** An optional string representing the ID of the remixer in [`DjmdArtist`]. */ remixerId?: string /** An optional string representing the ID of the label in [`DjmdLabel`]. */ labelId?: string /** An optional string representing the ID of the original artist in [`DjmdArtist`]. */ orgArtistId?: string /** An optional string representing the ID of the key in [`DjmdKey`]. */ keyId?: string /** An optional string representing the stock date of the track. */ stockDate?: string /** An optional string representing the ID of the color in [`DjmdColor`]. */ colorId?: string /** An optional integer representing the DJ play count of the track. */ djPlayCount?: number /** An optional string representing the path to the track's image. */ imagePath?: string /** An optional string representing the ID of the master database. */ masterDbId?: string /** An optional string representing the ID of the master song. */ masterSongId?: string /** An optional string representing the path to the analysis data. */ analysisDataPath?: string /** An optional string used for searching the track. */ searchStr?: string /** An optional integer representing the file size of the track. */ fileSize?: number /** An optional integer representing the disc number of the track. */ discNo?: number /** An optional string representing the ID of the composer in [`DjmdArtist`]. */ composerId?: string /** An optional string representing the subtitle of the track. */ subtitle?: string /** An optional integer representing the sample rate of the track. */ sampleRate?: number /** An optional integer indicating whether quantization is disabled for the track. */ disableQuantize?: number /** An optional integer indicating whether the track has been analyzed. */ analysed?: number /** An optional string representing the release date of the track. */ releaseDate?: string /** An optional string representing the creation date of the track. */ dateCreated?: string /** An optional integer representing the content link of the track. */ contentLink?: number /** An optional string representing tags associated with the track. */ tag?: string /** An optional string indicating whether the track was modified by Rekordbox. */ modifiedByRbm?: string /** An optional string representing the auto-load hot cue setting. */ hotCueAutoLoad?: string /** An optional string representing the delivery control setting. */ deliveryControl?: string /** An optional string representing comments about the delivery. */ deliveryComment?: string /** An optional string indicating whether the cue points were updated. */ cueUpdated?: string /** An optional string indicating whether the analysis data was updated. */ analysisUpdated?: string /** An optional string indicating whether the track info was updated. */ trackInfoUpdated?: string /** An optional string representing the lyricist of the track. */ lyricist?: string /** An optional string representing the ISRC (International Standard Recording Code) of the track. */ isrc?: string /** An optional integer representing sampler track information. */ samplerTrackInfo?: number /** An optional integer representing the sampler play offset. */ samplerPlayOffset?: number /** An optional float representing the sampler gain. */ samplerGain?: number /** An optional string representing the associated video. */ videoAssociate?: string /** An optional integer representing the lyric status of the track. */ lyricStatus?: number /** An optional integer representing the service ID. */ serviceId?: number /** An optional string representing the original folder path of the track. */ orgFolderPath?: string /** An optional string for reserved data. */ reserved1?: string /** An optional string for reserved data. */ reserved2?: string /** An optional string for reserved data. */ reserved3?: string /** An optional string for reserved data. */ reserved4?: string /** An optional string for extended information. */ extInfo?: string /** An optional string representing the Rekordbox file ID. */ rbFileId?: string /** An optional string representing the ID of the associated device in [`DjmdDevice`]. */ deviceId?: string /** An optional string representing the local folder path in Rekordbox. */ rbLocalFolderPath?: string /** An optional string representing the source ID. */ srcId?: string /** An optional string representing the source title. */ srcTitle?: string /** An optional string representing the source artist name. */ srcArtistName?: string /** An optional string representing the source album name. */ srcAlbumName?: string /** An optional integer representing the source length in milliseconds. */ srcLength?: number } /** * Represents the `djmdCue` table in the Rekordbox database. * * This struct maps to the `djmdCue` table in the SQLite database used by Rekordbox. * It stores information about cue points for tracks, including their timing, type, and * additional metadata. * * # Notes * Rekordbox internally represents time in “frames”, each being 1/150th of a second (6.666ms). * The InFrame and OutFrame values use this unit of time. However, when a track is encoded with * variable bit-rate (VBR) or average bit-rate (ABR), the InMpegFrame and OutMpegFrame values are * filled out to assist with correct seeking. Despite the names, these values are not the frame * indices within the MPEG file, but instead use an alternative timing scheme that is typically * around 1/75th of a second (13.333ms) per frame, i.e. about half the granularity of normal frames. * * # References * * [`DjmdContent`] via `content_id` and `content_uuid` foreign keys. * * # Referenced by * * [`DjmdSongHotCueBanklist`] via `cue_id` foreign key. */ export interface DjmdCue { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated track in [`DjmdContent`]. */ contentId: string /** The cue's start time in milliseconds. */ inMsec: number /** * The cue's start frame. * * One frame is 1/150th of a second */ inFrame: number /** The cue's start MPEG frame or 0 if not a VBR/ABR MPEG file (see note). */ inMpegFrame: number /** The cue's start MPEG absolute frame or 0 if not a VBR/ABR MPEG file. */ inMpegAbs: number /** The cue's end time in milliseconds or -1 if not a loop. */ outMsec: number /** * The cue's end frame or -1 if not a loop. * * One frame is 1/150th of a second */ outFrame: number /** The cue's end MPEG frame or 0 if not a loop or not a VBR/ABR MPEG file (see note) */ outMpegFrame: number /** The cue's end MPEG absolute frame or 0 if not a loop or not a VBR/ABR MPEG file */ outMpegAbs: number /** * The type of the cue. * * 0 if a memory cue, otherwise the number of Hot Cue */ kind: number /** The color ID of the cue or -1 if no color. */ color: number /** An optional integer representing the index of the color in the color table. */ colorTableIndex?: number /** An optional integer indicating whether the cue is part of an active loop. */ activeLoop?: number /** An optional string containing comments about the cue. */ comment?: string /** An optional integer representing the size of the beat loop. */ beatLoopSize?: number /** An optional integer representing the cue's position in microseconds. */ cueMicrosec?: number /** An optional string containing seek information for the cue's start point. */ inPointSeekInfo?: string /** An optional string containing seek information for the cue's end point. */ outPointSeekInfo?: string /** An optional string representing the UUID of the associated track in [`DjmdContent`]. */ contentUuid?: string } /** * Represents the `djmdDevice` table in the Rekordbox database. * * This struct maps to the `djmdDevice` table in the SQLite database used by Rekordbox. * It stores information about devices associated with the Rekordbox collection, including * metadata such as device name and master database ID. */ export interface DjmdDevice { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the master database associated with the device. */ masterDbId: string /** The name of the device. */ name: string } /** * Represents the `djmdGenre` table in the Rekordbox database. * * This struct maps to the `djmdGenre` table in the SQLite database used by Rekordbox. * It stores genre-related data, allowing tracks to be categorized by genre. * * # Referenced by * * [`DjmdContent`] via `genre_id` foreign key. */ export interface DjmdGenre { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the name of the genre. */ name: string } /** * Represents the `djmdHistory` table in the Rekordbox database. * * This struct maps to the `djmdHistory` table in the SQLite database used by Rekordbox. * It stores information about history entries, including metadata such as sequence, name, * attributes, and parent relationships. * * # Referenced by * * [`DjmdHistory`] via `parent_id` foreign key. * * [`DjmdSongHistory`] via `history_id` foreign key. * * # References * * [`DjmdHistory`] via `parent_id` foreign key. */ export interface DjmdHistory { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order number of the history (1-based index) */ seq: number /** The name of the history. */ name: string /** The attribute of the tag, either history (`0`) or a folder (`1`) */ attribute: HistoryType /** The ID of the parent [`DjmdHistory`], `'root'` for top-level my-tag records. */ parentId: string /** The creation date of the history. */ dateCreated: string } /** * Represents the `djmdHotCueBanklist` table in the Rekordbox database. * * This struct maps to the `djmdHotCueBanklist` table in the SQLite database used by Rekordbox. * It stores information about hot cue bank lists, including metadata such as sequence, name, * image path, and parent relationships. * * # Referenced by * * [`DjmdHotCueBanklist`] via `parent_id` foreign key. * * [`DjmdSongHotCueBanklist`] via `hot_cue_banklist_id` and `hot_cue_banklist_uuid` foreign keys. * * [`HotCueBanklistCue`] via `hot_cue_banklist_id` foreign key. * * # References * * [`DjmdHotCueBanklist`] via `parent_id` foreign key. */ export interface DjmdHotCueBanklist { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order of the hot cue bank list (1-based index) */ seq: number /** The name of the hot cue bank list. */ name: string /** An optional path to the image associated with the hot cue bank list. */ imagePath?: string /** The attribute of the hot cue bank list, either list (`0`) or a folder (`1`) */ attribute: HotCueBanklistType /** The ID of the parent [`DjmdHotCueBanklist`], `'root'` for top-level records. */ parentId: string } /** * Represents the `djmdKey` table in the Rekordbox database. * * This struct maps to the `djmdKey` table in the SQLite database used by Rekordbox. * It stores information about musical keys, including their names and sequence order. * * # Referenced by * * [`DjmdContent`] via `key_id` foreign key. */ export interface DjmdKey { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The name of the musical key. */ name: string /** An optional integer representing the sequence/order of the key. */ seq?: number } /** * Represents the `djmdLabel` table in the Rekordbox database. * * This struct maps to the `djmdLabel` table in the SQLite database used by Rekordbox. * It stores information about labels, including their names and metadata. * * # Referenced by * * [`DjmdContent`] via `label_id` foreign key. */ export interface DjmdLabel { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The name of the label. */ name: string } /** * Represents the `djmdMenuItems` table in the Rekordbox database. * * This struct maps to the `djmdMenuItems` table in the SQLite database used by Rekordbox. * It stores information about menu items, including their class, name, and metadata. * * # Referenced by * * [`DjmdCategory`] via `menu_item_id` foreign key. * * [`DjmdSort`] via `menu_item_id` foreign key. */ export interface DjmdMenuItems { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The class of the menu item. */ class: number /** The name of the menu item. */ name: string } /** * Represents the `djmdMixerParam` table in the Rekordbox database. * * This struct maps to the `djmdMixerParam` table in the SQLite database used by Rekordbox. * It stores information about mixer parameters, including gain and peak values for high and low frequencies. * * Each of the two gain values are represented by a 32-bit floating point number packed into a * pair of 16-bit integers. The floating point value represents the linear gain factor, which can * be converted into decibels (dB) by calculating 20.0 * math.log10(f) where f is the gain factor. * * The auto-gain value is the one shown in the grid edit panel. The peak value does not appear to * be displayed anywhere in the program, and is most likely used internally for * limiting and/or waveform scaling. * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface DjmdMixerParam { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated [`DjmdContent`]. */ contentId: string /** * The upper 16 bits of a IEEE754 single-precision floating point number representing the gain. * * Use `get_gain_db` and `set_gain_db` to access and modify the gain in decibels (dB). */ gainHigh: number /** * The lower 16 bits of a IEEE754 single-precision floating point number representing the gain. * * Use `get_gain_db` and `set_gain_db` to access and modify the gain in decibels (dB). */ gainLow: number /** * The upper 16 bits of a IEEE754 single-precision floating point number representing the peak. * * Use `get_peak_db` and `set_peak_db` to access and modify the peak in decibels (dB). */ peakHigh: number /** * The lower 16 bits of a IEEE754 single-precision floating point number representing the peak. * * Use `get_peak_db` and `set_peak_db` to access and modify the peak in decibels (dB). */ peakLow: number } /** * Represents the `djmdMyTag` table in the Rekordbox database. * * This struct maps to the `djmdMyTag` table in the SQLite database used by Rekordbox. * It stores information about custom tags (MyTags) that can be associated with tracks, * including metadata such as sequence, name, attributes, and parent relationships. * * # Referenced by * * [`DjmdMyTag`] via `parent_id` foreign key. * * [`DjmdSongMyTag`] via `my_tag_id` foreign key. * * # References * * [`DjmdMyTag`] via `parent_id` foreign key. */ export interface DjmdMyTag { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order number of the tag (1-based index) */ seq: number /** The name of the tag */ name: string /** The attribute of the tag, either my-tag (`0`) or a folder (`1`) */ attribute: MyTagType /** The ID of the parent [`DjmdMyTag`], `'root'` for top-level my-tag records. */ parentId: string } /** * Represents the `djmdPlaylist` table in the Rekordbox database. * * This struct maps to the `djmdPlaylist` table in the SQLite database used by Rekordbox. * It stores information about playlists, including metadata such as sequence, name, image path, * attributes, and parent relationships. * * **Note**: This model does not implement `ModelDelete`, but provides slightly different * `delete` and `delete_all` methods that return the deleted playlist Ids instead of the number * of affected rows. This is required for the playlist XML handling. * * # Referenced by * * [`DjmdPlaylist`] via `parent_id` foreign key. * * [`DjmdSongPlaylist`] via `playlist_id` foreign key. * * # References * * [`DjmdPlaylist`] via `parent_id` foreign key. */ export interface DjmdPlaylist { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order number of the record (1-based index) */ seq: number /** The name of the playlist. */ name: string /** An optional path to the image associated with the playlist. */ imagePath?: string /** The playlist type, either list (`0`), a folder (`1`) or a smart list (`4`). */ attribute: PlaylistType /** The ID of the parent [`DjmdPlaylist`], `'root'` for top-level records. */ parentId: string /** An optional smart list configuration for the playlist (None if not a smart playlist) */ smartList?: string } /** * Represents the `djmdProperty` table in the Rekordbox database. * * This struct maps to the `djmdProperty` table in the SQLite database used by Rekordbox. * It stores metadata and properties related to the database, including versioning, * drive information, and associated device details. */ export interface DjmdProperty { /** A unique identifier for the database entry. */ dbId: string /** The version of the database. */ dbVersion: string /** The base drive of the database. */ baseDbDrive: string /** The current drive of the database. */ currentDbDrive: string /** The ID of the associated device in [`DjmdDevice`]. */ deviceId: string /** An optional string for reserved data. */ reserved1?: string /** An optional string for reserved data. */ reserved2?: string /** An optional string for reserved data. */ reserved3?: string /** An optional string for reserved data. */ reserved4?: string /** An optional string for reserved data. */ reserved5?: string /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date } /** * Represents the `djmdRecommendLike` table in the Rekordbox database. * * This struct maps to the `djmdRecommendLike` table in the SQLite database used by Rekordbox. * It stores information about recommended track relationships, including metadata such as * like rate, creation timestamps, and associated content IDs. * * # References * * [`DjmdContent`] via `content_id1` and `content_id2` foreign keys. */ export interface DjmdRecommendLike { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the first associated content in [`DjmdContent`]. */ contentId1: string /** The ID of the second associated content in [`DjmdContent`]. */ contentId2: string /** An optional integer representing the like rate between the two associated contents. */ likeRate?: number /** An optional integer representing the high part of the creation timestamp. */ dataCreatedH?: number /** An optional integer representing the low part of the creation timestamp. */ dataCreatedL?: number } /** * Represents the `djmdRelatedTracks` table in the Rekordbox database. * * This struct maps to the `djmdRelatedTracks` table in the SQLite database used by Rekordbox. * It stores information about related tracks, including metadata such as sequence, name, * attributes, and parent relationships. * * # Referenced by * * [`DjmdRelatedTracks`] via `parent_id` foreign key. * * [`DjmdSongRelatedTracks`] via `related_tracks_id` foreign key. * * # References * * [`DjmdRelatedTracks`] via `parent_id` foreign key. */ export interface DjmdRelatedTracks { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order number of the record (1-based index) */ seq: number /** The name of the related track record. */ name: string /** The attribute of the related track, either list (`0`) or a folder (`1`) */ attribute: RelatedTracksType /** The ID of the parent [`DjmdRelatedTracks`], `'root'` for top-level records. */ parentId: string /** A JSON string containing the criteria for the related tracks. */ criteria: string } /** * Represents the `djmdSampler` table in the Rekordbox database. * * This struct maps to the `djmdSampler` table in the SQLite database used by Rekordbox. * It stores information about samplers, including metadata such as sequence, name, * attributes, and parent relationships. * * # Referenced by * * [`DjmdSampler`] via `parent_id` foreign key. * * [`DjmdSongSampler`] via `sampler_id` foreign key. * * # References * * [`DjmdSampler`] via `parent_id` foreign key. */ export interface DjmdSampler { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order number of the record (1-based index) */ seq: number /** The name of the sampler. */ name: string /** The attribute of the sampler, either list (`0`) or a folder (`1`) */ attribute: SamplerType /** The ID of the parent [`DjmdSampler`], `'root'` for top-level records. */ parentId: string } /** * Represents the `djmdSongHistory` table in the Rekordbox database. * * This struct maps to the `djmdSongHistory` table in the SQLite database used by Rekordbox. * It stores information about the relationship between songs and history entries, including * metadata such as track number and associated history or content IDs. * * # References * * [`DjmdHistory`] via `history_id` foreign key. * * [`DjmdContent`] via `content_id` foreign key. */ export interface DjmdSongHistory { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated history entry in [`DjmdHistory`]. */ historyId: string /** The ID of the associated content entry in [`DjmdContent`]. */ contentId: string /** The track number in the history entry. */ trackNo: number } /** * Represents the `djmdSongHotCueBanklist` table in the Rekordbox database. * * This struct maps to the `djmdSongHotCueBanklist` table in the SQLite database used by Rekordbox. * It stores information about the relationship between hot cue bank lists and their associated songs, * including the actual cue data * * # Notes * Rekordbox internally represents time in “frames”, each being 1/150th of a second (6.666ms). * The InFrame and OutFrame values use this unit of time. However, when a track is encoded with * variable bit-rate (VBR) or average bit-rate (ABR), the InMpegFrame and OutMpegFrame values are * filled out to assist with correct seeking. Despite the names, these values are not the frame * indices within the MPEG file, but instead use an alternative timing scheme that is typically * around 1/75th of a second (13.333ms) per frame, i.e. about half the granularity of normal frames. * * # References * * [`DjmdHotCueBanklist`] via `hot_cue_banklist_id` and `hot_cue_banklist_uuid` foreign keys. * * [`DjmdContent`] via `content_id` foreign key. * * [`DjmdCue`] via `cue_id` foreign key. */ export interface DjmdSongHotCueBanklist { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated [`DjmdHotCueBanklist`]. */ hotCueBanklistId: string /** The ID of the associated content in [`DjmdContent`]. */ contentId: string /** The track number in the hot cue bank list (1-based index) */ trackNo: number /** The ID of the associated [`DjmdCue`] */ cueId: string /** The cue's start time in milliseconds. */ inMsec: number /** * The cue's start frame. * * One frame is 1/150th of a second */ inFrame: number /** The cue's start MPEG frame or 0 if not a VBR/ABR MPEG file (see note). */ inMpegFrame: number /** The cue's start MPEG absolute frame or 0 if not a VBR/ABR MPEG file. */ inMpegAbs: number /** The cue's end time in milliseconds or -1 if not a loop. */ outMsec: number /** * The cue's end frame or -1 if not a loop. * * One frame is 1/150th of a second */ outFrame: number /** The cue's end MPEG frame or 0 if not a loop or not a VBR/ABR MPEG file (see note) */ outMpegFrame: number /** The cue's end MPEG absolute frame or 0 if not a loop or not a VBR/ABR MPEG file */ outMpegAbs: number /** The color ID of the cue or -1 if no color. */ color: number /** An optional integer representing the index of the color in the color table. */ colorTableIndex?: number /** An optional integer indicating whether the cue is part of an active loop. */ activeLoop?: number /** An optional string containing comments about the cue. */ comment?: string /** An optional integer representing the size of the beat loop. */ beatLoopSize?: number /** An optional integer representing the cue's position in microseconds. */ cueMicrosec?: number /** An optional string containing seek information for the cue's start point. */ inPointSeekInfo?: string /** An optional string containing seek information for the cue's end point. */ outPointSeekInfo?: string /** An optional string representing the UUID of the associate [`DjmdHotCueBanklist`] */ hotCueBanklistUuid?: string } /** * Represents the `djmdSongMyTag` table in the Rekordbox database. * * This struct maps to the `djmdSongMyTag` table in the SQLite database used by Rekordbox. * It links the `djmdMyTag` records to the associated `djmdContent` records. * * # References * * [`DjmdMyTag`] via `my_tag_id` foreign key. * * [`DjmdContent`] via `content_id` foreign key. */ export interface DjmdSongMyTag { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated [`DjmdMyTag`]. */ myTagId: string /** The ID of the associated [`DjmdContent`]. */ contentId: string /** The track number in the tag. */ trackNo: number } /** * Represents the `djmdSongPlaylist` table in the Rekordbox database. * * This struct maps to the `djmdSongPlaylist` table in the SQLite database used by Rekordbox. * It stores information about the relationship between songs and playlists, including * metadata such as track number and associated playlist or content IDs. * * # References * * [`DjmdPlaylist`] via `playlist_id` foreign key. * * [`DjmdContent`] via `content_id` foreign key. */ export interface DjmdSongPlaylist { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated playlist in [`DjmdPlaylist`]. */ playlistId: string /** The ID of the associated content in [`DjmdContent`]. */ contentId: string /** The track number in the playlist. */ trackNo: number } /** * Represents the `djmdSongRelatedTracks` table in the Rekordbox database. * * This struct maps to the `djmdSongRelatedTracks` table in the SQLite database used by Rekordbox. * It stores information about the relationship between songs and related tracks, including * metadata such as update sequence numbers, timestamps, and associated content or related tracks IDs. * * # References * * [`DjmdRelatedTracks`] via `related_tracks_id` foreign key. * * [`DjmdContent`] via `content_id` foreign key. */ export interface DjmdSongRelatedTracks { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated related tracks entry in [`DjmdRelatedTracks`]. */ relatedTracksId: string /** The ID of the associated content entry in [`DjmdContent`]. */ contentId: string /** The track number in the related tracks entry. */ trackNo: number } /** * Represents the `djmdSongSampler` table in the Rekordbox database. * * This struct maps to the `djmdSongSampler` table in the SQLite database used by Rekordbox. * It stores information about the relationship between songs and samplers, including * metadata such as update sequence numbers, timestamps, and associated sampler or content IDs. * * # References * * [`DjmdSampler`] via `sampler_id` foreign key. * * [`DjmdContent`] via `content_id` foreign key. */ export interface DjmdSongSampler { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated sampler in [`DjmdSampler`]. */ samplerId: string /** The ID of the associated content in [`DjmdContent`]. */ contentId: string /** The sequence/order number of the record (1-based index) */ trackNo: number } /** * Represents the `djmdSongTagList` table in the Rekordbox database. * * This struct maps to the `djmdSongTagList` table in the SQLite database used by Rekordbox. * It stores information about the relationship between songs and tag lists, including * metadata such as update sequence numbers, timestamps, and associated content IDs. * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface DjmdSongTagList { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated content in [`DjmdContent`]. */ contentId: string /** The sequence/order number of the record (1-based index) */ trackNo: number } /** * Represents the `djmdSort` table in the Rekordbox database. * * This struct maps to the `djmdSort` table in the SQLite database used by Rekordbox. * It stores information about sorting options, including metadata such as sequence, * menu item associations, and disable status. * * # References * * [`DjmdMenuItems`] via `menu_item_id` foreign key. */ export interface DjmdSort { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated menu item in [`DjmdMenuItems`]. */ menuItemId: string /** The sequence/order of the sort entry. */ seq: number /** A flag whether the sort entry is disabled. */ disable: number } /** * Known file type constants for Rekordbox tracks. * * The field itself is stored as a plain `i32` to allow unknown values. * Use these constants for comparison with known types. */ export declare const enum FileType { MP3 = 0, MP3_2 = 1, MP4 = 3, ALAC = 4, FLAC = 5, M4A = 6, WAV = 11, AIFF = 12, StreamApple = 26 } /** * Represents the `genre` table in the Rekordbox One Library database. * * This struct maps to the `genre` table in the One Library export database. * It stores genre-related data, allowing multiple tracks to be associated with the same genre. */ export interface Genre { /** The unique identifier of the genre. */ id: number /** The name of the genre. */ name: string } /** * Represents the `history` table in the Rekordbox One Library database. * * This struct maps to the `history` table in the One Library export database. * It stores information about history entries, including metadata such as sequence, name, * attributes, and parent relationships. * * # Referenced by * * [`History`] via `parent_id` foreign key. * * [`HistoryContent`] via `history_id` foreign key. * * # References * * [`History`] via `parent_id` foreign key. */ export interface History { /** A unique identifier for the entry. */ id: number /** The sequence/order number of the history (1-based index) */ seq: number /** The name of the history. */ name: string /** The attribute of the tag, either history (`0`) or a folder (`1`) */ attribute: HistoryType /** The ID of the parent [`History`] or `0` for top-level record. */ parentId: number } /** * Represents the `history_content` table in the Rekordbox One Library database. * * This struct maps to the `history_content` table in the One Library export database. * It stores information about the relationship between songs and history entries, including * metadata such as track number and associated history or content IDs. * * # References * * [`History`] via `history_id` foreign key. * * [`Content`] via `content_id` foreign key. */ export interface HistoryContent { /** The ID of the associated [`History`]. */ historyId: number /** The ID of the associated [`Content`]. */ contentId: number /** The sequence/order number of the history content (1-based index) */ seq: number } export declare const enum HistoryType { List = 0, Folder = 1 } /** * Represents the `hotCueBankList` table in the Rekordbox One Library database. * * This struct maps to the `hotCueBankList` table in the One Library export database. * * # References * * [`HotCueBankList`] via `parent_id` foreign key. * * [`Image`] via `image_id` foreign key. */ export interface HotCueBankList { /** The unique identifier of the hot cue bank list. */ id: number /** The sequence/order number of the hot cue bank list (1-based index). */ seq: number /** The name of the hot cue bank list. */ name?: string /** An optional foreign key referencing an [`Image`]. */ imageId?: number /** The hot cue bank list type, either list (`0`) or a folder (`1`). */ attribute: HotCueBanklistType /** The ID of the parent [`HotCueBankList`], `0` for top-level records. */ parentId?: number } /** * Represents the `hotCueBanklistCue` table in the Rekordbox database. * * This struct maps to the `hotCueBanklistCue` table in the SQLite database used by Rekordbox. * It stores information about the relationship between hot cue bank lists and their associated cues, * including metadata such as update sequence numbers, timestamps, and cue data as JSON string. * * # References * * [`DjmdHotCueBanklist`] via `hot_cue_banklist_id` foreign key. */ export interface HotCueBanklistCue { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated [`DjmdSongHotCueBanklist`]. */ hotCueBanklistId: string /** An optional string containing the serialized cue data. */ cues?: string /** An optional integer representing the count of cues. */ rbCueCount?: number } /** * Represents the `hotCueBankList_cue` table in the Rekordbox One Library database. * * This struct maps to the `hotCueBankList_cue` table in the One Library export database. * * # References * * [`HotCueBankList`] via `hot_cue_bank_list_id` foreign key. * * [`Cue`] via `cue_id` foreign key. */ export interface HotCueBankListCue { /** The unique identifier of the hot cue bank list. */ hotCueBankListId: number /** The unique identifier of the cue. */ cueId: number /** The sequence/order number of the hot cue bank list cue (1-based index). */ seq: number } export declare const enum HotCueBanklistType { List = 0, Folder = 1 } /** * Represents the `image` table in the Rekordbox One Library database. * * This struct maps to the `image` table in the One Library export database. * It stores the relative file paths of all images on the device. * * # Referenced by * * [`Album`] via `image_id` foreign key. * * [`Content`] via `image_id` foreign key. */ export interface Image { /** The unique identifier of the image. */ id: number /** The relative file path of the image. */ path: string } /** * Represents the `imageFile` table in the Rekordbox database. * * This struct maps to the `imageFile` table in the SQLite database used by Rekordbox. * It stores information about image files, including metadata such as file paths, * hashes, and synchronization details. */ export interface ImageFile { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the table name associated with the image file. */ tableName?: string /** An optional string representing the target UUID associated with the image file. */ targetUuid?: string /** An optional string representing the target ID associated with the image file. */ targetId?: string /** An optional string representing the file path of the image. */ path?: string /** An optional string representing the hash of the image file. */ hash?: string /** An optional integer representing the size of the image file. */ size?: number /** An optional string representing the local path of the image file in Rekordbox. */ rbLocalPath?: string /** An optional string representing the in-sync hash of the image file. */ rbInsyncHash?: string /** An optional integer representing the in-sync local update sequence number. */ rbInsyncLocalUsn?: number /** An optional integer indicating whether the file hash is dirty. */ rbFileHashDirty?: number /** An optional integer representing the local file status in Rekordbox. */ rbLocalFileStatus?: number /** An optional integer indicating whether the file is in progress. */ rbInProgress?: number /** An optional integer representing the process type of the file. */ rbProcessType?: number /** An optional string representing the temporary path of the file. */ rbTempPath?: string /** An optional integer representing the priority of the file. */ rbPriority?: number /** An optional integer indicating whether the file size is dirty. */ rbFileSizeDirty?: number } /** * Represents the `key` table in the Rekordbox One Library database. * * This struct maps to the `key` table in the One Library export database. * It stores key-related data, allowing multiple tracks to be associated with the same key. * * # Referenced by * * [`Content`] via `key_id` foreign key. */ export interface Key { /** The unique identifier of the key. */ id: number /** The name of the key. */ name: string } /** * Represents the `label` table in the Rekordbox One Library database. * * This struct maps to the `label` table in the One Library export database. * It stores label-related data, allowing multiple tracks to be associated with the same label. * * # Referenced by * * [`Content`] via `label_id` foreign key. */ export interface Label { /** The unique identifier of the label. */ id: number /** The name of the label. */ name: string } export interface Lyricist { id: number name: string nameForSearch?: string } /** * Represents the `menuItem` table in the Rekordbox One Library database. * * This struct maps to the `menuItem` table in the One Library export database. * It stores genre-related data, allowing multiple tracks to be associated with the same genre. * * # Referenced by * * [`Category`] via `menu_item_id` foreign key. * * [`Sort`] via `menu_item_id` foreign key. */ export interface MenuItem { /** The unique identifier of the record. */ id: number /** The kind of menu item (similar to `class` in the main DB). */ kind: number /** The name of the menu item. */ name: string } /** * Represents the `myTag` table in the Rekordbox One Library database. * * This struct maps to the `myTag` table in the One Library export database. * It stores information about my-tags, including metadata such as sequence, name * attributes, and parent relationships. * * # Referenced by * * [`MyTag`] via `parent_id` foreign key. * * [`MyTagContent`] via `my_tag_id` foreign key. * * # References * * [`MyTag`] via `parent_id` foreign key. */ export interface MyTag { /** The unique identifier of the tag. */ id: number /** The sequence/order number of the tag (1-based index). */ seq: number /** The name of the tag. */ name: string /** The tag type, either list (`0`) or a folder (`1`). */ attribute: MyTagType /** The ID of the parent [`MyTag`], `0` for top-level records. */ parentId: number } /** * Represents the `myTag_content` table in the Rekordbox One Library database. * * This struct maps to the `myTag_content` table in the One Library export database. * It stores information about the relationship between songs and myTags. * * This struct also is insertable into the `myTag_content` table. * * # References * * [`MyTag`] via `my_tag_id` foreign key. * * [`Content`] via `content_id` foreign key. */ export interface MyTagContent { /** The ID of the associated [`MyTag`]. */ myTagId: number /** The ID of the associated [`Content`]. */ contentId: number } export declare const enum MyTagType { List = 0, Folder = 1 } /** * Represents a new record insertale to the `album` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewAlbum; * * let new = NewAlbum::new("Name").compilation(1); * println!("{:?}", new); * ``` */ export interface NewAlbum { /** The name of the album. */ name: string /** An optional foreign key referencing the album artist [`Artist`]. */ artistId?: number /** An optional foreign key referencing the album artwork [`Image`]. */ imageId?: number /** A flag if the album is a compilation. */ isCompilation: number /** An optional string used for searching the album. */ nameForSearch?: string } /** * Represents a new record insertale to the `artist` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewArtist; * * let new = NewArtist::new("Name").name_for_search("Name"); * println!("{:?}", new); * ``` */ export interface NewArtist { /** The name of the artist. */ name: string /** An optional field for storing a search-optimized version of the artist name. */ nameForSearch?: string } /** * Represents a new record insertale to the `category` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewCategory; * * let new = NewCategory::new(0).is_visible(1); * println!("{:?}", new); * ``` */ export interface NewCategory { /** A foreign key referencing the [`MenuItem`]. */ menuItemId: number /** The sequence/order of the category. */ seq: number /** A flag if the category is visible. */ isVisible: number } /** Represents a new record insertale to the `color` table. */ export interface NewColor { /** The name of the color */ name: string } /** * Represents a new record insertale to the `content` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewContent; * * let new = NewContent::new("Content/Artist/Title.mp3"); * println!("{:?}", new); * ``` */ export interface NewContent { /** The date the record was created */ dateCreated: Date /** The date the record was added */ dateAdded: Date /** The relative file path of the track */ path: string /** The title of the track. */ title?: string /** An optional title used for searching. */ titleForSearch?: string /** The subtitle of the track */ subtitle?: string /** The beats per minute multiplied by 100. */ bpmx100?: number /** The length of the track in seconds. */ length?: number /** The track number of the track */ trackNo?: number /** The disc number of the track */ discNo?: number /** Optional foreign key referencing the artist [`Artist`]. */ artistId?: number /** Optional foreign key referencing the remixer [`Artist`]. */ remixerId?: number /** Optional foreign key referencing the original artist [`Artist`]. */ originalArtistId?: number /** Optional foreign key referencing the composer [`Artist`]. */ composerId?: number /** Optional foreign key referencing the lyricist [`Artist`]. */ lyricistId?: number /** Optional foreign key referencing the [`Album`]. */ albumId?: number /** Optional foreign key referencing the [`Genre`]. */ genreId?: number /** Optional foreign key referencing the [`Label`]. */ labelId?: number /** Optional foreign key referencing the [`Key`]. */ keyId?: number /** Optional foreign key referencing the [`Color`]. */ colorId?: number /** Optional foreign key referencing the artwork [`Image`]. */ imageId?: number /** The ccomment of the track. */ djComment?: string /** The rating of the track. */ rating?: number /** The release year of the track. */ releaseYear?: number /** The release date of the track */ releaseDate?: string /** The file name of the track. */ fileName?: string /** The file size of the track */ fileSize?: number /** The file typo of the track */ fileType?: number /** The bitrate of the trackk */ bitrate?: number /** The bit depth of the track */ bitDepth?: number /** The sample rate of the track. */ samplingRate?: number /** The ISRC of the track */ isrc?: string /** A flag if hot-cue auto load is enabled */ isHotCueAutoLoadOn?: number /** A flag if kuvo delivery is enabled */ isKuvoDeliverStatusOn?: number /** A kuvo delivery comment */ kuvoDeliveryComment?: string /** The masterdb ID */ masterDbId?: number /** The ID of the contnent in the masterdb */ masterContentId?: number /** The relative path to the analysis data */ analysisDataFilePath?: string /** The number of bits analysed (?) */ analysedBits?: number /** The ID of the content in the content link database (seems to always be 788224) */ contentLink?: number /** A flag if the content has been modified */ hasModified?: number /** The number of updates to the associated cues */ cueUpdateCount?: number /** The number of updates to the analysis data */ analysisDataUpdateCount?: number /** The number of updates to the content record */ informationUpdateCount?: number } /** * Represents a new record insertale to the `djmdAlbum` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdAlbum; * * let new = NewDjmdAlbum::new("Name").compilation(1); * println!("{:?}", new); * ``` */ export interface NewDjmdAlbum { /** The name of the album. */ name: string /** An optional string representing the id of the album artist [`DjmdArtist`]. */ albumArtistId?: string /** An optional string representing the path to the album's image. */ imagePath?: string /** An optional integer indicating whether the album is a compilation. */ compilation?: number /** An optional string used for searching the album. */ searchStr?: string } /** * Represents a new record insertale to the `djmdArtist` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdArtist; * * let new = NewDjmdArtist::new("Name".into()).search_str("Search".into()); * println!("{:?}", new); * ``` */ export interface NewDjmdArtist { /** The name of the artist. */ name: string /** An optional string used for searching the artist. */ searchStr?: string } /** * Represents a new record insertale to the `djmdContent` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdContent; * * let new = NewDjmdContent::new("path/to/file".into()).title("Title").artist_id("1") * println!("{:?}", new); * ``` */ export interface NewDjmdContent { /** An optional string representing the folder path of the track. */ folderPath: string /** An optional string representing the title of the track. */ title?: string /** An optional string representing the ID of the associated artist in [`DjmdArtist`]. */ artistId?: string /** An optional string representing the ID of the associated album in [`DjmdAlbum`]. */ albumId?: string /** An optional string representing the ID of the associated genre in [`DjmdGenre`]. */ genreId?: string /** An optional integer representing the BPM of the track. */ bpm?: number /** An optional integer representing the length of the track in milliseconds. */ length?: number /** An optional integer representing the track number in the album. */ trackNo?: number /** An optional integer representing the bit rate of the track. */ bitRate?: number /** An optional integer representing the bit depth of the track. */ bitDepth?: number /** An optional string representing comments about the track. */ commnt?: string /** An optional integer representing the rating of the track. */ rating?: number /** An optional integer representing the release year of the track. */ releaseYear?: number /** An optional string representing the ID of the remixer in [`DjmdArtist`]. */ remixerId?: string /** An optional string representing the ID of the label in [`DjmdLabel`]. */ labelId?: string /** An optional string representing the ID of the original artist in [`DjmdArtist`]. */ orgArtistId?: string /** An optional string representing the ID of the key in [`DjmdKey`]. */ keyId?: string /** An optional string representing the stock date of the track. */ stockDate?: string /** An optional string used for searching the track. */ searchStr?: string /** An optional integer representing the disc number of the track. */ discNo?: number /** An optional string representing the ID of the composer in [`DjmdArtist`]. */ composerId?: string /** An optional string representing the subtitle of the track. */ subtitle?: string /** An optional integer representing the sample rate of the track. */ sampleRate?: number /** An optional string representing the release date of the track. */ releaseDate?: string /** An optional string representing the creation date of the track. */ dateCreated?: string /** An optional string representing tags associated with the track. */ tag?: string /** An optional string representing the lyricist of the track. */ lyricist?: string /** An optional string representing the ISRC (International Standard Recording Code) of the track. */ isrc?: string } /** * Represents a new record insertale to the `djmdGenre` table. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdGenre; * * let new = NewDjmdGenre::new("Name"); * println!("{:?}", new); * ``` */ export interface NewDjmdGenre { /** The name of the genre. */ name: string } /** * Represents a new record insertale to the `djmdHistory` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdHistory; * * let new = NewDjmdHistory::history("Name").seq(2); * println!("{:?}", new); * ``` */ export interface NewDjmdHistory { /** The name of the history. */ name: string /** The attribute of the tag, either history (`0`) or a folder (`1`) */ attribute: HistoryType /** The sequence/order number of the history (1-based index) */ seq?: number /** The ID of the parent [`DjmdHistory`], `'root'` for top-level my-tag records. */ parentId?: string /** The creation date of the history. */ dateCreated?: string } /** * Represents a new record insertale to the `djmdKey` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdKey; * * let new = NewDjmdKey::new("C").seq(1); * println!("{:?}", new); * ``` */ export interface NewDjmdKey { /** The name of the musical key. */ name: string /** An optional integer representing the sequence/order of the key. */ seq?: number } /** * Represents a new record insertale to the `djmdLabel` table. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdLabel; * * let new = NewDjmdArtist::new("Name"); * println!("{:?}", new); * ``` */ export interface NewDjmdLabel { /** The name of the label. */ name: string } /** * Represents a new record insertale to the `djmdMyTag` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdMyTag; * * let new = NewDjmdMyTag::my_tag("Name").seq(1); * println!("{:?}", new); * ``` */ export interface NewDjmdMyTag { /** The name of the tag */ name: string /** The attribute of the tag, either my-tag (`0`) or a section (`1`) */ attribute: MyTagType /** The sequence/order number of the tag (1-based index) */ seq?: number /** The ID of the parent [`DjmdMyTag`]. */ parentId?: string } /** * Represents a new record insertale to the `djmdPlaylist` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdPlaylist; * * let new = NewDjmdPlaylist::playlist("Name").seq(2); * println!("{:?}", new); * ``` */ export interface NewDjmdPlaylist { /** The name of the playlist. */ name: string /** The playlist type, either list (`0`), a folder (`1`) or a smart list (`4`). */ attribute: PlaylistType /** The sequence/order number of the record (1-based index) */ seq?: number /** The ID of the parent [`DjmdPlaylist`], `'root'` for top-level records (default). */ parentId?: string /** An optional path to the image associated with the playlist. */ imagePath?: string /** An optional smart list configuration for the playlist (None if not a smart playlist) */ smartList?: string } /** * Represents a new record insertale to the `djmdRelatedTracks` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdRelatedTracks; * * let new = NewDjmdRelatedTracks::related_tracks("Name", 0).seq(1); * println!("{:?}", new); * ``` */ export interface NewDjmdRelatedTracks { /** The name of the related track. */ name: string /** The attribute of the related track, either list (`0`) or a folder (`1`) */ attribute: RelatedTracksType /** The sequence/order number of the record (1-based index) */ seq?: number /** The ID of the parent [`DjmdRelatedTracks`], `'root'` for top-level records. */ parentId?: string /** A JSON string containing the criteria for the related tracks. */ criteria?: string } /** * Represents a new record insertale to the `djmdSampler` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdSampler; * * let new = NewDjmdPlaylist::sampler("Name").seq(2); * println!("{:?}", new); * ``` */ export interface NewDjmdSampler { /** The name of the sampler. */ name: string /** The attribute of the sampler, either list (`0`) or a folder (`1`) */ attribute: SamplerType /** The sequence/order number of the record (1-based index) */ seq?: number /** The ID of the parent [`DjmdSampler`], `'root'` for top-level records. */ parentId?: string } /** * Represents a new record insertale to the `djmdSongHistory` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdSongHistory; * * let new = NewSongDjmdPlaylist::new("historyId".into(), "contentId".into()).track_no(1); * println!("{:?}", new); * ``` */ export interface NewDjmdSongHistory { /** The ID of the associated history entry in [`DjmdHistory`]. */ historyId: string /** The ID of the associated content entry in [`DjmdContent`]. */ contentId: string /** The track number in the history entry. */ trackNo?: number } /** * Represents a new record insertale to the `djmdSongMyTag` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdSongMyTag; * * let new = NewDjmdMyTag::new("my_tag_id", "content_id").track_no(1); * println!("{:?}", new); * ``` */ export interface NewDjmdSongMyTag { /** The ID of the associated [`DjmdMyTag`]. */ myTagId: string /** The ID of the associated [`DjmdContent`]. */ contentId: string /** The track number in the tag. */ trackNo?: number } /** * Represents a new record insertale to the `djmdSongPlaylist` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdSongPlaylist; * * let new = NewSongDjmdPlaylist::new("playlistId", "contentId").track_no(1); * println!("{:?}", new); * ``` */ export interface NewDjmdSongPlaylist { /** The ID of the associated playlist in [`DjmdPlaylist`]. */ playlistId: string /** The ID of the associated content in [`DjmdContent`]. */ contentId: string /** The track number in the playlist. */ trackNo?: number } /** * Represents a new record insertale to the `djmdSongRelatedTracks` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdSongRelatedTracks; * * let new = NewDjmdSongRelatedTracks::new("relatedId", "contentId").track_no(1); * println!("{:?}", new); * ``` */ export interface NewDjmdSongRelatedTracks { /** The ID of the associated playlist in [`DjmdPlaylist`]. */ relatedTracksId: string /** The ID of the associated content in [`DjmdContent`]. */ contentId: string /** The track number in the playlist. */ trackNo?: number } /** * Represents a new record insertale to the `djmdSongSampler` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::masterdb::models::NewDjmdSongSampler; * * let new = NewDjmdSongSampler::new("samplerId", "contentId").track_no(1); * println!("{:?}", new); * ``` */ export interface NewDjmdSongSampler { /** The ID of the associated sampler in [`DjmdSampler`]. */ samplerId: string /** The ID of the associated content in [`DjmdContent`]. */ contentId: string /** The sequence/order number of the record (1-based index) */ trackNo?: number } /** Represents a new record insertale to the `genre` table. */ export interface NewGenre { /** The name of the genre. */ name: string } /** * Represents a new record insertale to the `history` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewHistory; * * let new = NewHistory::history("Name").seq(2); * println!("{:?}", new); * ``` */ export interface NewHistory { /** The sequence/order number of the history (1-based index) */ seq: number /** The name of the history. */ name: string /** The attribute of the tag, either history (`0`) or a folder (`1`) */ attribute: HistoryType /** The ID of the parent [`History`] or `0` for top-level record. */ parentId: number } /** Represents a new record insertale to the `image` table. */ export interface NewImage { /** The relative file path of the image. */ path: string } /** Represents a new record insertale to the `key` table. */ export interface NewKey { /** The name of the key. */ name: string } /** Represents a new record insertale to the `label` table. */ export interface NewLabel { /** The name of the label. */ name: string } /** Represents a new record insertale to the `menuItem` table. */ export interface NewMenuItem { /** The kind of menu item (similar to `class` in the main DB). */ kind: number /** The name of the menu item. */ name: string } /** * Represents a new record insertale to the `myTag` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewMyTag; * * let new = NewMyTag::tag("Name").seq(2); * println!("{:?}", new); * ``` */ export interface NewMyTag { /** The sequence/order number of the tag (1-based index). */ seq: number /** The name of the tag. */ name: string /** The tag type, either list (`0`) or a folder (`1`). */ attribute: MyTagType /** The ID of the parent [`MyTag`], `0` for top-level records. */ parentId: number } /** * Represents a new record insertale to the `playlist` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewPlaylist; * * let new = NewPlaylist::playlist("Name").seq(2); * println!("{:?}", new); * ``` */ export interface NewPlaylist { /** The sequence/order number of the playlist (1-based index). */ seq: number /** The name of the playlist. */ name: string /** Optional foreign key referencing the artwork [`Image`] (`0` or `None` if no image). */ imageId?: number /** The playlist type, either list (`0`), a folder (`1`) or a smart list (`4`). */ attribute: PlaylistType /** The ID of the parent [`Playlist`], `0` for top-level records. */ parentId: number } /** * Represents a new record insertale to the `sort` table. * * Implements the builder pattern for optional values of the new record. * * # Examples * ```rust * use rbox::one_library::models::NewSort; * * let new = NewSort::new(1234).visible(1); * println!("{:?}", new); * ``` */ export interface NewSort { /** An optional foreign key referencing the [`MenuItem`]. */ menuItemId: number /** The sequence/order number of the item (1-based index) */ seq: number /** A flag if the item is visible in the menu */ isVisible: number /** A flag if the item is selected as a sub-column */ isSelectedAsSubColumn: number } export interface OriginalArtist { id: number name: string nameForSearch?: string } /** * Represents the `playlist` table in the Rekordbox One Library database. * * This struct maps to the `playlist` table in the One Library export database. * It stores information about playlists, including metadata such as sequence, name, image path, * attributes, and parent relationships. * * # Referenced by * * [`Playlist`] via `parent_id` foreign key. * * [`PlaylistContent`] via `playlist_id` foreign key. * * # References * * [`Playlist`] via `parent_id` foreign key. */ export interface Playlist { /** The unique identifier of the playlist. */ id: number /** The sequence/order number of the playlist (1-based index). */ seq: number /** The name of the playlist. */ name: string /** Optional foreign key referencing the artwork [`Image`] (`0` or `None` if no image). */ imageId?: number /** The playlist type, either list (`0`), a folder (`1`) or a smart list (`4`). */ attribute: PlaylistType /** The ID of the parent [`Playlist`], `0` for top-level records. */ parentId: number } /** * Represents the `playlist_content` table in the Rekordbox One Library database. * * This struct maps to the `playlist_content` table in the One Library export database. * It stores information about the relationship between songs and playlists, including * metadata such as track number and associated playlist or content IDs. * * This struct also is insertable into the `playlist_content` table. * * # References * * [`Playlist`] via `playlist_id` foreign key. * * [`Content`] via `content_id` foreign key. */ export interface PlaylistContent { /** The ID of the associated [`Playlist`]. */ playlistId: number /** The ID of the associated [`Content`]. */ contentId: number /** The sequence/order number of the history content (1-based index) */ seq: number } export declare const enum PlaylistType { List = 0, Folder = 1, SmartList = 4, CloudLibrarySync = -128 } /** * Represents the `property` table in the Rekordbox One Library database. * * This struct maps to the `property` table in the One Library export database. * It stores information about the device(s) and the export library. */ export interface Property { /** The name of the device ('' by default) */ deviceName: string /** The DB version (1000 by default) */ dbVersion: number /** The number of ['Content'] in the device */ numberOfContents: number /** The date of creation for the device */ createdDate: Date /** The background color type (0 by default) */ backGroundColorType: number /** The master.db database id of the tag data */ myTagMasterDbid: number } /** * Represents the `recommendedLike` table in the Rekordbox One Library database. * * This struct maps to the `recommendedLike` table in the One Library export database. * It stores information about recommended track relationships, including metadata such as * a rating, creation timestamps, and associated content IDs. * * This struct also is insertable into the `recommendedLike` table. * * # References * * [`Content`] via `content_id_1` foreign key. * * [`Content`] via `content_id_2` foreign key. */ export interface RecommendedLike { /** The ID of the first associated [`Content`]. */ contentId1: number /** The ID of the second associated [`Content`]. */ contentId2: number /** The rating of the relationship, between 1-5. */ rating: number /** The timestamp when the entry was created, serialized/deserialized as `Datetime<Utc>`. */ createdDate: Date } export declare const enum RelatedTracksType { List = 11, Folder = 10 } export interface Remixer { id: number name: string nameForSearch?: string } export declare const enum SamplerType { List = 2, Folder = 3, All = 5, Capture = 6 } /** * Represents the `settingFile` table in the Rekordbox database. * * This struct maps to the `settingFile` table in the SQLite database used by Rekordbox. * It stores information about setting files, including metadata such as file paths, * hashes, and synchronization details. */ export interface SettingFile { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The relative file path of the setting file. */ path: string /** The hash of the setting file. */ hash: string /** The size of the setting file. */ size: number /** An optional string representing the local path of the setting file in Rekordbox. */ rbLocalPath?: string /** An optional string representing the in-sync hash of the setting file. */ rbInsyncHash?: string /** An optional integer representing the in-sync local update sequence number. */ rbInsyncLocalUsn?: number /** An optional integer indicating whether the file hash is dirty. */ rbFileHashDirty?: number /** An optional integer indicating whether the file size is dirty. */ rbFileSizeDirty?: number } /** * Represents the `sort` table in the Rekordbox One Library database. * * This struct maps to the `sort` table in the One Library export database. * * # References * * [`MenuItem`] via `menu_item_id` foreign key. */ export interface Sort { /** The unique identifier of the record. */ id: number /** An optional foreign key referencing the [`MenuItem`]. */ menuItemId: number /** The sequence/order number of the *visible* items (1-based index) */ seq: number /** A flag if the item is visible in the menu */ isVisible: number /** A flag if the item is selected as a sub-column */ isSelectedAsSubColumn: number } /** * Represents the `uuidIDMap` table in the Rekordbox database. * * This struct maps to the `uuidIDMap` table in the SQLite database used by Rekordbox. * It stores information about UUID-to-ID mappings, including metadata such as table names, * target UUIDs, and current IDs. */ export interface UuidIDMap { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** Table name associated with the mapping. */ tableName: string /** The target UUID in the mapping. */ targetUuid: string /** The current ID in the mapping. */ currentId: string } export declare class Anlz { constructor(path: string) dumpCopy(path: string): void dump(): void getTags(): Array<string> getBeatGrid(): BeatGrid | null getExtendedBeatGrid(): ExtendedBeatGrid | null getHotCues(): CueList | null getMemoryCues(): CueList | null getExtendedHotCues(): ExtendedCueList | null getExtendedMemoryCues(): ExtendedCueList | null getPath(): string setPath(path: string): void getVbrData(): Array<number> | null getTinyWaveformPreview(): TinyWaveformPreview | null getWaveformPreview(): WaveformPreview | null getWaveformDetail(): WaveformDetail | null getWaveformColorPreview(): WaveformColorPreview | null getWaveformColorDetail(): WaveformColorDetail | null getWaveform3BandPreview(): Waveform3BandPreview | null getWaveform3BandDetail(): Waveform3BandDetail | null getSongStructure(): SongStructureData | null } export type JsAnlz = Anlz export declare class MasterDb { /** Open a Rekordbox database specified by path. */ constructor(path: string) /** Open the Rekordbox database specified by the `RekordboxOptions`. */ static fromOptions(options: JsRekordboxOptions): MasterDb /** Open the default Rekordbox `master.db` database. */ static open(): MasterDb /** Sets the unsafe writes flag for the database. */ setUnsafeWrites(unsafeWrites: boolean): void /** Returns the path to the configured share directory. */ shareDirectory(): string | null /** Returns the path to the configured playlist XML file. */ playlistXmlPath(): string | null /** Retrieves all entries from the [`AgentRegistry`] table in the database. */ getAgentRegistries(): Array<AgentRegistry> /** Retrieves an `agentRegistry` entry by its unique identifier. */ getAgentRegistryById(id: string): AgentRegistry | null /** Retrieves the local update sequence number (USN) from the `agentRegistry` table. */ getLocalUsn(): number /** Retrieves all entries from the `cloudAgentRegistry` table in the database. */ getCloudAgentRegistries(): Array<CloudAgentRegistry> /** Retrieves a `cloudAgentRegistry` entry by its unique identifier. */ getCloudAgentRegistryById(id: string): CloudAgentRegistry | null /** Retrieves all entries from the `contentActiveCensor` table in the database. */ getContentActiveCensors(): Array<ContentActiveCensor> /** Retrieves a `contentActiveCensor` entry by its unique identifier. */ getContentActiveCensorById(id: string): ContentActiveCensor | null /** Retrieves all entries from the `contentCue` table in the database. */ getContentCues(): Array<ContentCue> /** Retrieves a `contentCue` entry by its unique identifier. */ getContentCueById(id: string): ContentCue | null /** Retrieves all entries from the `contentFile` table in the database. */ getContentFiles(): Array<ContentFile> /** Retrieves a `contentFile` entry by its unique identifier. */ getContentFileById(id: string): ContentFile | null /** Retrieves all entries from the `djmdActiveCensor` table in the database. */ getActiveCensors(): Array<DjmdActiveCensor> /** Retrieves a `djmdActiveCensor` entry by its unique identifier. */ getActiveCensorById(id: string): DjmdActiveCensor | null /** Retrieves all entries from the `djmdAlbum` table in the database. */ getAlbums(): Array<DjmdAlbum> /** Retrieves a `djmdAlbum` entry by its unique identifier. */ getAlbumById(id: string): DjmdAlbum | null /** Retrieves a `djmdAlbum` entry by its name. */ getAlbumByName(name: string): DjmdAlbum | null /** Inserts a new album into the `djmdAlbum` table in the database. */ insertAlbum(item: NewDjmdAlbum): DjmdAlbum /** Creates a new album and inserts it into the `djmdAlbum` table in the database. */ createAlbum(name: string, artistId?: string | undefined | null, imagePath?: string | undefined | null, compilation?: number | undefined | null): DjmdAlbum /** Updates an existing `djmdAlbum` entry in the database. */ updateAlbum(model: DjmdAlbum): DjmdAlbum /** Deletes an album entry from the `djmdAlbum` table in the database. */ deleteAlbum(id: string): void /** Retrieves all entries from the `djmdArtist` table in the database. */ getArtists(): Array<DjmdArtist> /** Retrieves a `djmdArtist` entry by its unique identifier. */ getArtistById(id: string): DjmdArtist | null /** Retrieves a `djmdArtist` entry by its name. */ getArtistByName(name: string): DjmdArtist | null /** Inserts a new artist into the `djmdArtist` table in the database. */ insertArtist(item: NewDjmdArtist): DjmdArtist /** Creates a new artist and inserts it into the `djmdArtist` table in the database. */ createArtist(name: string): DjmdArtist /** Updates an existing `djmdArtist` entry in the database. */ updateArtist(model: DjmdArtist): DjmdArtist /** Deletes an artist entry from the `djmdArtist` table in the database. */ deleteArtist(id: string): void /** Retrieves all entries from the `djmdCategory` table in the database. */ getCategories(): Array<DjmdCategory> /** Retrieves a `djmdCategory` entry by its unique identifier. */ getCategoryById(id: string): DjmdCategory | null /** Retrieves all entries from the `djmdColor` table in the database. */ getColors(): Array<DjmdColor> /** Retrieves a `djmdColor` entry by its unique identifier. */ getColorById(id: string): DjmdColor | null /** Retrieves all entries from the `djmdContent` table in the database. */ getContents(): Array<DjmdContent> /** Retrieves a `djmdContent` entry by its unique identifier. */ getContentById(id: string): DjmdContent | null /** Retrieves a `djmdContent` entry by its unique identifier. */ getContentsByIds(ids: Array<string>): Array<DjmdContent> /** Retrieves a `djmdContent` entry by its folder path. */ getContentByPath(id: string): DjmdContent | null /** Returns the path to the directory containing the ANLZxxxx.xxx files for a given content ID. */ getContentAnlzDir(id: string): string | null /** Returns a struct containing the paths to ANLZxxxx.DAT, ANLZxxxx.EXT, and ANLZxxxx.EX2 files. */ getContentAnlzPaths(id: string): AnlzPaths | null /** Creates a new content entry and inserts it into the `djmdContent` table. */ createContent(path: string): DjmdContent /** Updates an existing `djmdContent` entry in the database. */ updateContent(model: DjmdContent): number /** Update the content album field. */ updateContentAlbum(id: string, name: string): number /** Update the content artist name. */ updateContentArtist(id: string, name: string): number /** Update the content remixer name. */ updateContentRemixer(id: string, name: string): number /** Update the content original artist name. */ updateContentOriginalArtist(id: string, name: string): number /** Update the content composer name. */ updateContentComposer(id: string, name: string): number /** Update the content genre name. */ updateContentGenre(id: string, name: string): number /** Update the content label name. */ updateContentLabel(id: string, name: string): number /** Update the content key name. */ updateContentKey(id: string, name: string): number /** Updates the file path of a content entry in the database. */ updateContentPath(contentId: string, path: string): number /** Retrieves all entries from the `djmdCue` table. */ getCues(): Array<DjmdCue> /** Retrieves a `djmdCue` entry by its unique identifier. */ getCueById(id: string): DjmdCue | null /** Retrieves all entries from the `djmdDevice` table. */ getDevices(): Array<DjmdDevice> /** Retrieves a `djmdDevice` entry by its unique identifier. */ getDeviceById(id: string): DjmdDevice | null /** Retrieves all entries from the `djmdGenre` table in the database. */ getGenres(): Array<DjmdGenre> /** Retrieves a `djmdGenre` entry by its unique identifier. */ getGenreById(id: string): DjmdGenre | null /** Retrieves a `djmdGenre` entry by its name. */ getGenreByName(name: string): DjmdGenre | null /** Inserts a new genre into the `djmdGenre` table in the database. */ insertGenre(genre: NewDjmdGenre): DjmdGenre /** Creates a new genre and inserts it into the `djmdGenre` table in the database. */ createGenre(name: string): DjmdGenre /** Updates an existing `djmdGenre` entry in the database. */ updateGenre(model: DjmdGenre): DjmdGenre /** Deletes a genre entry from the `djmdGenre` table in the database. */ deleteGenre(id: string): void /** Retrieves all entries from the `djmdHistory` table in the database. */ getHistories(): Array<DjmdHistory> /** Retrieves a `djmdHistory` entry by its unique identifier. */ getHistoryById(id: string): DjmdHistory | null /** Retrieves all song history entries for a given history ID, ordered by track number. */ getHistorySongs(id: string): Array<DjmdSongHistory> /** Retrieves all content entries referenced by the song history for a given history ID. */ getHistoryContents(id: string): Array<DjmdContent> /** Retrieves all entries from the `djmdHotCueBanklist` table in the database. */ getHotCueBanklists(): Array<DjmdHotCueBanklist> /** Retrieves a `djmdHotCueBanklist` entry by its unique identifier. */ getHotCueBanklistChildren(id: string): Array<DjmdHotCueBanklist> /** Retrieves all child `djmdHotCueBanklist` entries for a given parent ID, ordered by sequence. */ getHotCueBanklistById(id: string): DjmdHotCueBanklist | null /** Retrieves all `djmdSongHotCueBanklist` entries for a given hot cue banklist ID, ordered by track number. */ getHotCueBanklistSongs(id: string): Array<DjmdSongHotCueBanklist> /** Retrieves all `djmdContent` entries referenced by the song hot cue banklist for a given hot cue banklist ID. */ getHotCueBanklistContents(id: string): Array<DjmdContent> /** Retrieves all `hotCueBanklistCue` entries for a given hot cue banklist ID. */ getHotCueBanklistCues(id: string): Array<HotCueBanklistCue> /** Retrieves all entries from the `djmdKey` table in the database. */ getKeys(): Array<DjmdKey> /** Retrieves a `djmdKey` entry by its unique identifier. */ getKeyById(id: string): DjmdKey | null /** Retrieves a `djmdKey` entry by its scale name. */ getKeyByName(name: string): DjmdKey | null /** Inserts a new key into the `djmdKey` table in the database. */ insertKey(key: NewDjmdKey): DjmdKey /** Creates a new key and inserts it into the `djmdKey` table in the database. */ createKey(name: string): DjmdKey /** Updates an existing `djmdKey` entry in the database. */ updateKey(model: DjmdKey): DjmdKey /** Deletes a key entry from the `djmdKey` table in the database. */ deleteKey(id: string): void /** Retrieves all entries from the `djmdLabel` table in the database. */ getLabels(): Array<DjmdLabel> /** Retrieves a `djmdLabel` entry by its unique identifier. */ getLabelById(id: string): DjmdLabel | null /** Retrieves a `djmdLabel` entry by its name. */ getLabelByName(name: string): DjmdLabel | null /** Creates a new label and inserts it into the `djmdLabel` table in the database. */ createLabel(name: string): DjmdLabel /** Updates an existing `djmdLabel` entry in the database. */ updateLabel(model: DjmdLabel): DjmdLabel /** Deletes a label entry from the `djmdLabel` table in the database. */ deleteLabel(id: string): void /** Retrieves all entries from the `djmdMenuItems` table in the database. */ getMenuItems(): Array<DjmdMenuItems> /** Retrieves a `djmdMenuItems` entry by its unique identifier. */ getMenuItemById(id: string): DjmdMenuItems | null /** Retrieves all entries from the `djmdMixerParam` table in the database. */ getMixerParams(): Array<DjmdMixerParam> /** Retrieves a `djmdMixerParam` entry by its unique identifier. */ getMixerParamById(id: string): DjmdMixerParam | null /** Retrieves all entries from the `djmdMyTag` table in the database. */ getMyTags(): Array<DjmdMyTag> /** Retrieves all child `djmdMyTag` entries for a given parent ID, ordered by sequence. */ getMyTagChildren(id: string): Array<DjmdMyTag> /** Retrieves a `djmdMyTag` entry by its unique identifier. */ getMyTagById(id: string): DjmdMyTag | null /** Retrieves all `djmdSongMyTag` entries for a given tag ID, ordered by track number. */ getMyTagSongs(id: string): Array<DjmdSongMyTag> /** Retrieves all `djmdContent` entries referenced by the songs for a given tag ID. */ getMyTagContents(id: string): Array<DjmdContent> /** Retrieves all entries from the `djmdPlaylist` table in the database. */ getPlaylists(): Array<DjmdPlaylist> /** Returns a sorted tree of playlists as tree nodes. */ getPlaylistTree(): Array<DjmdPlaylistTreeNode> /** Retrieves all child `djmdPlaylist` entries for a given parent ID, ordered by sequence. */ getPlaylistChildren(id: string): Array<DjmdPlaylist> /** Retrieves a `djmdPlaylist` entry by its unique identifier. */ getPlaylistById(id: string): DjmdPlaylist | null /** Retrieves a `djmdPlaylist` entry by its hierarchical path. */ getPlaylistByPath(path: Array<string>): DjmdPlaylist | null /** Retrieves all `djmdSongPlaylist` entries for a given playlist ID, ordered by track number. */ getPlaylistSongs(id: string): Array<DjmdSongPlaylist> /** Retrieves all `djmdContent` entries referenced by the songs for a given playlist ID. */ getPlaylistContents(id: string): Array<DjmdContent> /** Retrieves a `djmdSongPlaylist` entry by its unique identifier. */ getPlaylistSongById(id: string): DjmdSongPlaylist | null /** Creates a new playlist and inserts it into the `djmdPlaylist` table in the database. */ createPlaylistNode(name: string, attribute: number, parentId?: string | undefined | null, seq?: number | undefined | null, imagePath?: string | undefined | null, smartList?: string | undefined | null): DjmdPlaylist /** Creates a new regular playlist in the `djmdPlaylist` table. */ createPlaylist(name: string, parentId?: string | undefined | null, seq?: number | undefined | null, imagePath?: string | undefined | null, smartList?: string | undefined | null): DjmdPlaylist /** Creates a new playlist folder in the `djmdPlaylist` table. */ createPlaylistFolder(name: string, parentId?: string | undefined | null, seq?: number | undefined | null): DjmdPlaylist /** Renames an existing playlist. */ renamePlaylist(id: string, name: string): DjmdPlaylist /** Moves a playlist to a new parent folder or changes its sequence within the same parent. */ movePlaylist(id: string, seq?: number | undefined | null, parentId?: string | undefined | null): DjmdPlaylist /** Moves multiple playlists to a new parent folder or changes its sequence within the same parent. */ movePlaylists(ids: Array<string>, parentId: string, startSeq?: number | undefined | null): Array<DjmdPlaylist> /** Deletes a playlist entry from the `djmdPlaylist` table in the database. */ deletePlaylist(id: string): void /** Inserts a new `djmdSongPlaylist` song into a playlist. */ insertPlaylistSong(item: NewDjmdSongPlaylist): DjmdSongPlaylist /** Creates a new playlist song and inserts it into the `djmdSongPlaylist` table. */ createPlaylistSong(playlistId: string, contentId: string, seq?: number | undefined | null): DjmdSongPlaylist /** Moves a song within a playlist to a new sequence position. */ movePlaylistSong(id: string, seq: number): DjmdSongPlaylist /** Moves multiple songs within a playlist to a new sequence position. */ movePlaylistSongs(ids: Array<string>, startSeq: number): Array<DjmdSongPlaylist> /** Deletes a song entry from a playlist. */ deletePlaylistSong(id: string): void /** Retrieves all entries from the `djmdProperty` table in the database. */ getProperties(): Array<DjmdProperty> /** Retrieves a `djmdProperty` entry by its unique identifier. */ getPropertyById(id: string): DjmdProperty | null /** Retrieves all entries from the `djmdCloudProperty` table in the database. */ getCloudProperties(): Array<DjmdCloudProperty> /** Retrieves a `djmdCloudProperty` entry by its unique identifier. */ getCloudPropertyById(id: string): DjmdCloudProperty | null /** Retrieves all entries from the `djmdRecommendLike` table in the database. */ getRecommendLikes(): Array<DjmdRecommendLike> /** Retrieves a `djmdRecommendLike` entry by its unique identifier. */ getRecommendLikeById(id: string): DjmdRecommendLike | null /** Retrieves all entries from the `djmdRelatedTracks` table in the database. */ getRelatedTracks(): Array<DjmdRelatedTracks> /** Retrieves all child `djmdRelatedTracks` entries for a given parent ID, ordered by sequence. */ getRelatedTracksChildren(id: string): Array<DjmdRelatedTracks> /** Retrieves a `djmdRelatedTracks` entry by its unique identifier. */ getRelatedTracksById(id: string): DjmdRelatedTracks | null /** Retrieves all `djmdSongRelatedTracks` entries for a given related tracks ID, ordered by track number. */ getRelatedTracksSongs(id: string): Array<DjmdSongRelatedTracks> /** Retrieves all `djmdContent` entries referenced by the songs for a given related tracks ID. */ getRelatedTracksContents(id: string): Array<DjmdContent> /** Retrieves all entries from the `djmdSampler` table in the database. */ getSamplers(): Array<DjmdSampler> /** Retrieves all child `djmdSampler` entries for a given parent ID, ordered by sequence. */ getSamplerChildren(id: string): Array<DjmdSampler> /** Retrieves a `djmdSampler` entry by its unique identifier. */ getSamplerById(id: string): DjmdSampler | null /** Retrieves all `djmdSongSampler` entries for a given sampler ID, ordered by track number. */ getSamplerSongs(id: string): Array<DjmdSongSampler> /** Retrieves all `djmdContent` entries referenced by the songs for a given sampler ID. */ getSamplerContents(id: string): Array<DjmdContent> /** Retrieves all entries from the `djmdSongTagList` table in the database. */ getSongTagLists(): Array<DjmdSongTagList> /** Retrieves a `djmdSongTagList` entry by its unique identifier. */ getSongTagListById(id: string): DjmdSongTagList | null /** Retrieves all entries from the `djmdSort` table in the database, ordered by sequence. */ getSorts(): Array<DjmdSort> /** Retrieves a `djmdSort` entry by its unique identifier. */ getSortById(id: string): DjmdSort | null /** Retrieves all entries from the `imageFile` table in the database. */ getImageFiles(): Array<ImageFile> /** Retrieves an `imageFile` entry by its unique identifier. */ getImageFileById(id: string): ImageFile | null /** Retrieves all entries from the `settingFile` table in the database. */ getSettingFiles(): Array<SettingFile> /** Retrieves a `settingFile` entry by its unique identifier. */ getSettingFileById(id: string): SettingFile | null /** Retrieves all entries from the `uuidIDMap` table in the database. */ getUuidIdMaps(): Array<UuidIDMap> /** Retrieves a `uuidIDMap` entry by its unique identifier. */ getUuidIdMapById(id: string): UuidIDMap | null } export type JsMasterDb = MasterDb export declare class OneLibrary { /** Open a OneLibrary (Device Library Plus) database specified by path. */ constructor(path: string) /** Open a OneLibrary (Device Library Plus) database specified by path. */ static create(path: string, myTagMasterDbid: number): OneLibrary /** Create a new OneLibrary database if it does not exist, otherwise return the existing one. */ static createIfNotExists(path: string, myTagMasterDbid: number): OneLibrary /** Queries all records from the `album` table. */ getAlbums(): Array<Album> /** Queries a record from the `album` table by its primary key `id`. */ getAlbumById(id: number): Album | null /** Queries a record from the `album` table by its `name`. */ getAlbumByName(name: string): Album | null /** Inserts a new record into the `album` table. */ insertAlbum(album: NewAlbum): Album /** Creates a new record and inserts it into the `album` table. */ createAlbum(name: string, artistId?: number | undefined | null, imageId?: number | undefined | null): Album /** Updates an existing record in the `album` table. */ updateAlbum(album: Album): Album /** Deletes a record from the `album` table by its primary key `id`. */ deleteAlbum(id: number): number /** Queries all records from the `artist` table. */ getArtists(): Array<Artist> /** Queries a record from the `artist` table by its primary key `id`. */ getArtistById(id: number): Artist | null /** Queries a record from the `artist` table by its `name`. */ getArtistByName(name: string): Artist | null /** Inserts a new record into the `artist` table. */ insertArtist(artist: NewArtist): Artist /** Creates a new record and inserts it into the `artist` table. */ createArtist(name: string): Artist /** Updates an existing record in the `artist` table. */ updateArtist(artist: Artist): Artist /** Deletes a record from the `artist` table by its primary key `id`. */ deleteArtist(id: number): number /** Queries all records from the `category` table. */ getCategories(): Array<Category> /** Queries a record from the `category` table by its primary key `id`. */ getCategoryById(id: number): Category | null /** Inserts a new record into the `category` table. */ insertCategory(category: NewCategory): Category /** Creates a new record and inserts it into the `category` table. */ createCategory(menuItemId: number, seq?: number | undefined | null, isVisible?: number | undefined | null): Category /** Updates an existing record in the `category` table. */ updateCategory(category: Category): Category /** Deletes a record from the `category` table by its primary key `id`. */ deleteCategory(id: number): number /** Queries all records from the `color` table. */ getColors(): Array<Color> /** Queries a record from the `color` table by its primary key `id`. */ getColorById(id: number): Color | null /** Inserts a new record into the `color` table. */ insertColor(color: NewColor): Color /** Creates a new record and inserts it into the `color` table. */ createColor(name: string): Color /** Updates an existing record in the `color` table. */ updateColor(color: Color): Color /** Deletes a record from the `color` table by its primary key `id`. */ deleteColor(id: number): number /** Queries all records from the `color` table. */ getContents(): Array<Content> /** Queries a record from the `content` table by its primary key `id`. */ getContentById(id: number): Content | null /** Inserts a new record into the `content` table. */ insertContent(content: NewContent): Content /** Creates a new record and inserts it into the `content` table. */ createContent(path: string): Content /** Updates an existing record in the `content` table. */ updateContent(content: Content): Content /** Deletes a record from the `content` table by its primary key `id`. */ deleteContent(id: number): number /** Queries all records from the `color` table. */ getCues(): Array<Cue> /** Queries a record from the `cue` table by its primary key `id`. */ getCueById(id: number): Cue | null /** Updates an existing record in the `cue` table. */ updateCue(cue: Cue): Cue /** Deletes a record from the `cue` table by its primary key `id`. */ deleteCue(id: number): number /** Queries all records from the `genre` table. */ getGenres(): Array<Genre> /** Queries a record from the `genre` table by its primary key `id`. */ getGenreById(id: number): Genre | null /** Queries a record from the `genre` table by its `name`. */ getGenreByName(name: string): Genre | null /** Inserts a new record into the `genre` table. */ insertGenre(genre: NewGenre): Genre /** Creates a new record and inserts it into the `genre` table. */ createGenre(name: string): Genre /** Updates an existing record in the `genre` table. */ updateGenre(genre: Genre): Genre /** Deletes a record from the `genre` table by its primary key `id`. */ deleteGenre(id: number): number /** Queries all records from the `history` table. */ getHistories(): Array<History> /** Queries all child records from the `history` table by parent `id`. */ getHistoryChildren(id: number): Array<History> /** Queries all `content` records associated with a `history` record. */ getHistoryContents(id: number): Array<Content> /** Queries a record from the `history` table by its primary key `id`. */ getHistoryById(id: number): History | null /** Inserts a new record into the `history` table. */ insertHistory(history: NewHistory): History /** Creates a new record and inserts it into the `history` table. */ createHistory(name: string, attribute: HistoryType): History /** Deletes a record from the `history` table by its primary key `id`. */ deleteHistory(id: number): number /** Creates a new record and inserts it into the `history_content` table. */ createHistoryContent(historyId: number, contentId: number): HistoryContent /** Deletes a record from the `history_content` table by its primary key. */ deleteHistoryContent(historyId: number, contentId: number): number /** Queries all records from the `color` table. */ getHotCueBankLists(): Array<HotCueBankList> /** Queries a record from the `hot_cue_bank_list` table by its primary key `id`. */ getHotCueBankListById(id: number): HotCueBankList | null /** Queries all records from the `image` table. */ getImages(): Array<Image> /** Queries a record from the `image` table by its primary key `id`. */ getImageById(id: number): Image | null /** Queries a record from the `image` table by its `path`. */ getImageByPath(path: string): Image | null /** Inserts a new record into the `image` table. */ insertImage(image: NewImage): Image /** Creates a new record and inserts it into the `image` table. */ createImage(path: string): Image /** Updates an existing record in the `image` table. */ updateImage(image: Image): Image /** Deletes a record from the `image` table by its primary key `id`. */ deleteImage(id: number): number /** Queries all records from the `key` table. */ getKeys(): Array<Key> /** Queries a record from the `key` table by its primary key `id`. */ getKeyById(id: number): Key | null /** Queries a record from the `key` table by its `name`. */ getKeyByName(name: string): Key | null /** Inserts a new record into the `key` table. */ insertKey(key: NewKey): Key /** Creates a new record and inserts it into the `key` table. */ createKey(name: string): Key /** Updates an existing record in the `key` table. */ updateKey(key: Key): Key /** Deletes a record from the `key` table by its primary key `id`. */ deleteKey(id: number): number /** Queries all records from the `label` table. */ getLabels(): Array<Label> /** Queries a record from the `label` table by its primary key `id`. */ getLabelById(id: number): Label | null /** Queries a record from the `label` table by its `name`. */ getLabelByName(name: string): Label | null /** Inserts a new record into the `label` table. */ insertLabel(label: NewLabel): Label /** Creates a new record and inserts it into the `label` table. */ createLabel(name: string): Label /** Updates an existing record in the `label` table. */ updateLabel(label: Label): Label /** Deletes a record from the `label` table by its primary key `id`. */ deleteLabel(id: number): number /** Queries all records from the `menuItem` table. */ getMenuItems(): Array<MenuItem> /** Queries a record from the `menuItem` table by its primary key `id`. */ getMenuItemById(id: number): MenuItem | null /** Queries a record from the `menuItem` table by its `name`. */ getMenuItemByName(name: string): MenuItem | null /** Inserts a new record into the `menuItem` table. */ insertMenuItem(menuItem: NewMenuItem): MenuItem /** Creates a new record and inserts it into the `menuItem` table. */ createMenuItem(name: string, kind: number): MenuItem /** Updates an existing record in the `menuItem` table. */ updateMenuItem(menuItem: MenuItem): MenuItem /** Deletes a record from the `menuItem` table by its primary key `id`. */ deleteMenuItem(id: number): number /** Queries all records from the `myTag` table. */ getMyTags(): Array<MyTag> /** Queries all child records from the `myTag` table by parent `id`. */ getMyTagChildren(id: number): Array<MyTag> /** Queries all `content` records associated with a `myTag` record. */ getMyTagContents(id: number): Array<Content> /** Queries a record from the `myTag` table by its primary key `id`. */ getMyTagById(id: number): MyTag | null /** Queries all records from the `myTag` table their associated `content_id` via `myTag_content` */ getMyTagByContentId(cid: number): Array<MyTag> /** Inserts a new record into the `myTag` table. */ insertMyTag(myTag: NewMyTag): MyTag /** Creates a new tag record and inserts it into the `myTag` table. */ createMyTag(name: string, parentId?: number | undefined | null, seq?: number | undefined | null): MyTag /** Creates a new my_tag folder record and inserts it into the `myTag` table. */ createMyTagFolder(name: string, parentId?: number | undefined | null, seq?: number | undefined | null): MyTag /** Renames an existing my_tag record in the `myTag` table. */ renameMyTag(myTagId: number, name: string): number /** Moves a tag to a new parent folder or changes its sequence within the same parent. */ moveMyTag(myTagId: number, parentId?: number | undefined | null, seq?: number | undefined | null): number /** Moves multiple tags to a new parent folder or changes its sequence within the same parent. */ moveMyTags(myTagIds: Array<number>, parentId: number, startSeq?: number | undefined | null): number /** Deletes a record from the `myTag` table by its primary key `id`. */ deleteMyTag(id: number): number /** Deletes multiple records from the `myTag` table by its primary keys `id`. */ deleteMyTags(ids: Array<number>): number /** Deletes a record from the `myTag_content` table by its primary key. */ deleteMyTagContent(myTagId: number, contentId: number): number /** Deletes a record from the `myTag_content` table by its primary key. */ deleteMyTagContents(ids: Array<[number, number]>): number /** Queries all records from the `playlist` table. */ getPlaylists(): Array<Playlist> /** Queries all child records from the `playlist` table by parent `id`. */ getPlaylistChildren(id: number): Array<Playlist> /** Queries all `content` records associated with a `playlist` record. */ getPlaylistContents(id: number): Array<Content> /** Queries a record from the `playlist` table by its primary key `id`. */ getPlaylistById(id: number): Playlist | null /** Inserts a new record into the `playlist` table. */ insertPlaylist(playlist: NewPlaylist): Playlist /** Creates a new playlist record and inserts it into the `playlist` table. */ createPlaylist(name: string, parentId?: number | undefined | null, seq?: number | undefined | null): Playlist /** Creates a new playlist folder record and inserts it into the `playlist` table. */ createPlaylistFolder(name: string, parentId?: number | undefined | null, seq?: number | undefined | null): Playlist /** Renames an existing playlist record in the `playlist` table. */ renamePlaylist(playlistId: number, name: string): number /** Moves a playlist to a new parent folder or changes its sequence within the same parent. */ movePlaylist(playlistId: number, parentId?: number | undefined | null, seq?: number | undefined | null): number /** Moves multiple playlists to a new parent folder or changes its sequence within the same parent. */ movePlaylists(playlistIds: Array<number>, parentId: number, startSeq?: number | undefined | null): number /** Deletes a record from the `playlist` table by its primary key `id`. */ deletePlaylist(id: number): number /** Deletes multiple records from the `playlist` table by its primary keys `id`. */ deletePlaylists(ids: Array<number>): number /** Creates a new record and inserts it into the `playlist_content` table. */ createPlaylistContent(playlistId: number, contentId: number, seq?: number | undefined | null): PlaylistContent /** Moves a playlist content to a new sequence number. */ movePlaylistContent(playlistId: number, contentId: number, seq?: number | undefined | null): number /** Moves multiple playlist contents to a new sequence number. */ movePlaylistContents(ids: Array<[number, number]>, startSeq?: number | undefined | null): number /** Deletes a record from the `playlist_content` table by its primary key. */ deletePlaylistContent(playlistId: number, contentId: number): number /** Deletes a record from the `playlist_content` table by its primary key. */ deletePlaylistContents(ids: Array<[number, number]>): number /** Queries all records from the `property` table. */ getProperties(): Array<Property> /** Queries a record from the `property` table by its primary key `device_name`. */ getPropertyByDevice(deviceName: string): Property | null /** Queries a record from the `property` table by its primary key `device_name`. */ getFirstProperty(): Property | null /** Inserts a new record into the `property` table. */ insertProperty(property: Property): Property /** Creates a new record and inserts it into the `property` table. */ createProperty(deviceName: string, myTagMasterDbid: number): Property /** Updates an existing record in the `property` table. */ updateProperty(property: Property): Property /** Deletes a record from the `property` table by its primary key `device_name`. */ deleteProperty(deviceName: string): number /** Queries all records from the `recommendLike` table. */ getRecommendLikes(): Array<RecommendedLike> /** Queries a record from the `recommendLike` table by its primary key `id`. */ getRecommendLikeById(contentId1: number, contentId2: number): RecommendedLike | null /** Queries all records from the `recommendedLike` table that are linked to the given `content`. */ getRecommendLikeByContentId(contentId: number): Array<RecommendedLike> /** Get related `content` ids for a given `content`. */ getRecommendLikeContents(contentId: number): Array<number> /** Inserts a new record into the `recommendLike` table. */ insertRecommendLike(recommendLike: RecommendedLike): RecommendedLike /** Creates a new record and inserts it into the `recommendLike` table. */ createRecommendLike(contentId1: number, contentId2: number, rating?: number | undefined | null): RecommendedLike /** Updates an existing record in the `recommendLike` table. */ updateRecommendLike(recommendLike: RecommendedLike): RecommendedLike /** Deletes a record from the `recommendLike` table by its primary key. */ deleteRecommendLike(contentId1: number, contentId2: number): number /** Deletes a record from the `recommendLike` table by its primary key. */ deleteRecommendLikeByContent(contentId: number): number /** Queries all records from the `sort` table. */ getSorts(): Array<Sort> /** Queries a record from the `sort` table by its primary key `id`. */ getSortById(id: number): Sort | null /** Inserts a new record into the `sort` table. */ insertSort(sort: NewSort): Sort /** Creates a new record and inserts it into the `sort` table. */ createSort(menuItemId: number, seq?: number | undefined | null, isVisible?: number | undefined | null): Sort /** Updates an existing record in the `sort` table. */ updateSort(sort: Sort): Sort /** Deletes a record from the `sort` table by its primary key `id`. */ deleteSort(id: number): number } export type JsOneLibrary = OneLibrary export declare class PlaylistNode { constructor(name: string, nodeType: PlaylistNodeType, keyType?: PlaylistKeyType | undefined | null) static playlist(name: string, keyType: PlaylistKeyType): PlaylistNode static folder(name: string): PlaylistNode get name(): string set name(v: string) get nodeType(): PlaylistNodeType get keyType(): PlaylistKeyType | null get nodes(): Array<PlaylistNode> get tracks(): Array<PlaylistTrack> get numNodes(): number get numTracks(): number addNode(node: PlaylistNode): void newPlaylist(name: string, keyType: PlaylistKeyType): PlaylistNode newFolder(name: string): PlaylistNode removeNode(index: number): void clearNodes(): void getChild(index: number): PlaylistNode addTrack(track: PlaylistTrack): void newTrack(key: string): void removeTrack(index: number): void clearTracks(): void } export type JsPlaylistNode = PlaylistNode export declare class RekordboxOptions { constructor(dbPath: string, analysisRoot: string, settingsRoot: string) static load(path: string): RekordboxOptions static open(): RekordboxOptions get dbPath(): string get analysisRoot(): string get settingsRoot(): string } export type JsRekordboxOptions = RekordboxOptions export declare class RekordboxXml { constructor(path: string) static load(path: string): RekordboxXml toString(): string dumpCopy(path: string): void dump(): void get playlistRoot(): PlaylistNode getPlaylistRoots(): PlaylistNode getTracks(): Array<Track> getTrack(index: number): Track | null getTrackById(trackId: string): Track | null getTrackByLocation(location: string): Track | null getTrackByKey(key: string, keyType: PlaylistKeyType): Track | null addTrack(track: Track): void newTrack(trackid: string, location: string): Track updateTrack(track: Track): void removeTrack(trackId: string): void clearTracks(): void } export type JsRekordboxXml = RekordboxXml export declare class Setting { constructor(path: string) static newMysetting(path: string): Setting static newMysetting2(path: string): Setting static newDjmmysetting(path: string): Setting static newDevsetting(path: string): Setting static load(path: string): Setting dumpCopy(path: string): void dump(): void getOnAirDisplay(): OnAirDisplay setOnAirDisplay(onAirDisplay: OnAirDisplay): void getLcdBrightness(): LCDBrightness setLcdBrightness(lcdBrightness: LCDBrightness): void getQuantize(): Quantize setQuantize(quantize: Quantize): void getAutoCueLevel(): AutoCueLevel setAutoCueLevel(autoCueLevel: AutoCueLevel): void getLanguage(): Language setLanguage(language: Language): void getJogRingBrightness(): JogRingBrightness setJogRingBrightness(jogRingBrightness: JogRingBrightness): void getJogRingIndicator(): JogRingIndicator setJogRingIndicator(jogRingIndicator: JogRingIndicator): void getSlipFlashing(): SlipFlashing setSlipFlashing(slipFlashing: SlipFlashing): void getDiscSlotIllumination(): DiscSlotIllumination setDiscSlotIllumination(discSlotIllumination: DiscSlotIllumination): void getEjectLock(): EjectLock setEjectLock(ejectLock: EjectLock): void getSync(): Sync setSync(sync: Sync): void getPlayMode(): PlayMode setPlayMode(playMode: PlayMode): void getQuantizeBeatValue(): QuantizeBeatValue setQuantizeBeatValue(quantizeBeatValue: QuantizeBeatValue): void getHotcueAutoload(): HotCueAutoLoad setHotcueAutoload(hotcueAutoload: HotCueAutoLoad): void getHotcueColor(): HotCueColor setHotcueColor(hotcueColor: HotCueColor): void getNeedleLock(): NeedleLock setNeedleLock(needleLock: NeedleLock): void getTimeMode(): TimeMode setTimeMode(timeMode: TimeMode): void getJogMode(): JogMode setJogMode(jogMode: JogMode): void getAutoCue(): AutoCue setAutoCue(autoCue: AutoCue): void getMasterTempo(): MasterTempo setMasterTempo(masterTempo: MasterTempo): void getTempoRange(): TempoRange setTempoRange(tempoRange: TempoRange): void getPhaseMeter(): PhaseMeter setPhaseMeter(phaseMeter: PhaseMeter): void getVinylSpeedAdjust(): VinylSpeedAdjust setVinylSpeedAdjust(vinylSpeedAdjust: VinylSpeedAdjust): void getJogDisplayMode(): JogDisplayMode setJogDisplayMode(jogDisplayMode: JogDisplayMode): void getPadButtonBrightness(): PadButtonBrightness setPadButtonBrightness(padButtonBrightness: PadButtonBrightness): void getJogLcdBrightness(): JogLCDBrightness setJogLcdBrightness(jogLcdBrightness: JogLCDBrightness): void getWaveformDivisions(): WaveformDivisions setWaveformDivisions(waveformDivisions: WaveformDivisions): void getWaveform(): Waveform setWaveform(waveform: Waveform): void getBeatJumpBeatValue(): BeatJumpBeatValue setBeatJumpBeatValue(beatJumpBeatValue: BeatJumpBeatValue): void getChannelFaderCurve(): ChannelFaderCurve setChannelFaderCurve(channelFaderCurve: ChannelFaderCurve): void getCrossfaderCurve(): CrossfaderCurve setCrossfaderCurve(crossfaderCurve: CrossfaderCurve): void getHeadphonesPreEq(): HeadphonesPreEQ setHeadphonesPreEq(headphonesPreEq: HeadphonesPreEQ): void getHeadphonesMonoSplit(): HeadphonesMonoSplit setHeadphonesMonoSplit(headphonesMonoSplit: HeadphonesMonoSplit): void getBeatFxQuantize(): BeatFXQuantize setBeatFxQuantize(beatFxQuantize: BeatFXQuantize): void getMicLowCut(): MicLowCut setMicLowCut(micLowCut: MicLowCut): void getTalkOverMode(): TalkOverMode setTalkOverMode(talkOverMode: TalkOverMode): void getTalkOverLevel(): TalkOverLevel setTalkOverLevel(talkOverLevel: TalkOverLevel): void getMidiChannel(): MidiChannel setMidiChannel(midiChannel: MidiChannel): void getMidiButtonType(): MidiButtonType setMidiButtonType(midiButtonType: MidiButtonType): void getMixerDisplayBrightness(): MixerDisplayBrightness setMixerDisplayBrightness(mixerDisplayBrightness: MixerDisplayBrightness): void getMixerIndicatorBrightness(): MixerIndicatorBrightness setMixerIndicatorBrightness(mixerIndicatorBrightness: MixerIndicatorBrightness): void getChannelFaderCurveLongFader(): ChannelFaderCurveLongFader setChannelFaderCurveLongFader(channelFaderCurveLongFader: ChannelFaderCurveLongFader): void getOverviewWaveformType(): OverviewWaveformType setOverviewWaveformType(overviewWaveformType: OverviewWaveformType): void getWaveformColor(): WaveformColor setWaveformColor(waveformColor: WaveformColor): void getKeyDisplayFormat(): KeyDisplayFormat setKeyDisplayFormat(keyDisplayFormat: KeyDisplayFormat): void getWaveformCurrentPosition(): WaveformCurrentPosition setWaveformCurrentPosition(waveformCurrentPosition: WaveformCurrentPosition): void } export type JsSetting = Setting export interface AnlzCue { hotCue: number status: CueStatus orderFirst: number orderLast: number cueType: CueType time: number loopTime: number } export interface AnlzPaths { dat: string ext?: string ex2?: string } export declare const enum AutoCue { Off = 'Off', On = 'On' } export declare const enum AutoCueLevel { Minus78dB = 'Minus78dB', Minus72dB = 'Minus72dB', Minus66dB = 'Minus66dB', Minus60dB = 'Minus60dB', Minus54dB = 'Minus54dB', Minus48dB = 'Minus48dB', Minus42dB = 'Minus42dB', Minus36dB = 'Minus36dB', Memory = 'Memory' } export declare const enum Bank { Default = 0, Cool = 1, Natural = 2, Hot = 3, Subtle = 4, Warm = 5, Vivid = 6, Club1 = 7, Club2 = 8 } export interface Beat { beatNumber: number tempo: number time: number } export declare const enum BeatFXQuantize { Off = 'Off', On = 'On' } export interface BeatGrid { beats: Array<Beat> } export declare const enum BeatJumpBeatValue { HalfBeat = 'HalfBeat', OneBeat = 'OneBeat', TwoBeat = 'TwoBeat', FourBeat = 'FourBeat', EightBeat = 'EightBeat', SixteenBeat = 'SixteenBeat', ThirtytwoBeat = 'ThirtytwoBeat', SixtyfourBeat = 'SixtyfourBeat' } export declare const enum ChannelFaderCurve { SteepTop = 'SteepTop', Linear = 'Linear', SteepBottom = 'SteepBottom' } export declare const enum ChannelFaderCurveLongFader { Exponential = 'Exponential', Smooth = 'Smooth', Linear = 'Linear' } export declare const enum CrossfaderCurve { ConstantPower = 'ConstantPower', SlowCut = 'SlowCut', FastCut = 'FastCut' } export interface CueList { listType: CueListType cues: Array<AnlzCue> } export declare const enum CueListType { MemoryCues = 0, HotCues = 1 } export declare const enum CueStatus { Disabled = 0, Active = 4 } export declare const enum CueType { Point = 1, Loop = 2 } export declare const enum DiscSlotIllumination { Off = 'Off', Dark = 'Dark', Bright = 'Bright' } export interface DjmdPlaylistTreeNode { id: string uuid: string rbDataStatus: number rbLocalDataStatus: number rbLocalDeleted: number rbLocalSynced: number usn?: number rbLocalUsn?: number createdAt: Date updatedAt: Date seq: number name: string imagePath?: string attribute: PlaylistType parentId: string smartList?: string children: Array<DjmdPlaylistTreeNode> } export declare const enum EjectLock { Unlock = 'Unlock', Lock = 'Lock' } export interface ExtBeat { beatNumber: number } export interface ExtendedBeatGrid { bpm: Array<Beat> beats: Array<ExtBeat> } export interface ExtendedCue { hotCue: number cueType: CueType time: number loopTime: number color: number loopNumerator: number loopDenominator: number comment: string hotCueColorIndex: number hotCueColorRed: number hotCueColorGreen: number hotCueColorBlue: number } export interface ExtendedCueList { listType: CueListType cues: Array<ExtendedCue> } export declare const enum HeadphonesMonoSplit { MonoSplit = 'MonoSplit', Stereo = 'Stereo' } export declare const enum HeadphonesPreEQ { PostEQ = 'PostEQ', PreEQ = 'PreEQ' } export declare const enum HotCueAutoLoad { Off = 'Off', RekordboxSetting = 'RekordboxSetting', On = 'On' } export declare const enum HotCueColor { Off = 'Off', On = 'On' } export declare function isRekordboxRunning(): boolean export declare const enum JogDisplayMode { Auto = 'Auto', Info = 'Info', Simple = 'Simple', Artwork = 'Artwork' } export declare const enum JogLCDBrightness { One = 'One', Two = 'Two', Three = 'Three', Four = 'Four', Five = 'Five' } export declare const enum JogMode { Vinyl = 'Vinyl', CDJ = 'CDJ' } export declare const enum JogRingBrightness { Off = 'Off', Dark = 'Dark', Bright = 'Bright' } export declare const enum JogRingIndicator { Off = 'Off', On = 'On' } export declare const enum KeyDisplayFormat { Classic = 'Classic', Alphanumeric = 'Alphanumeric' } export declare const enum Language { English = 'English', French = 'French', German = 'German', Italian = 'Italian', Dutch = 'Dutch', Spanish = 'Spanish', Russian = 'Russian', Korean = 'Korean', ChineseSimplified = 'ChineseSimplified', ChineseTraditional = 'ChineseTraditional', Japanese = 'Japanese', Portuguese = 'Portuguese', Swedish = 'Swedish', Czech = 'Czech', Hungarian = 'Hungarian', Danish = 'Danish', Greek = 'Greek', Turkish = 'Turkish' } export declare const enum LCDBrightness { One = 'One', Two = 'Two', Three = 'Three', Four = 'Four', Five = 'Five' } export declare const enum MasterTempo { Off = 'Off', On = 'On' } export declare const enum MicLowCut { Off = 'Off', On = 'On' } export declare const enum MidiButtonType { Toggle = 'Toggle', Trigger = 'Trigger' } export declare const enum MidiChannel { One = 'One', Two = 'Two', Three = 'Three', Four = 'Four', Five = 'Five', Six = 'Six', Seven = 'Seven', Eight = 'Eight', Nine = 'Nine', Ten = 'Ten', Eleven = 'Eleven', Twelve = 'Twelve', Thirteen = 'Thirteen', Fourteen = 'Fourteen', Fifteen = 'Fifteen', Sixteen = 'Sixteen' } export declare const enum MixerDisplayBrightness { White = 'White', One = 'One', Two = 'Two', Three = 'Three', Four = 'Four', Five = 'Five' } export declare const enum MixerIndicatorBrightness { One = 'One', Two = 'Two', Three = 'Three' } export declare const enum Mood { High = 1, Mid = 2, Low = 3 } export declare const enum NeedleLock { Unlock = 'Unlock', Lock = 'Lock' } export declare const enum OnAirDisplay { Off = 'Off', On = 'On' } export declare function optionsJsonPath(): string export declare const enum OverviewWaveformType { HalfWaveform = 'HalfWaveform', FullWaveform = 'FullWaveform' } export declare const enum PadButtonBrightness { One = 'One', Two = 'Two', Three = 'Three', Four = 'Four' } export declare const enum PhaseMeter { Type1 = 'Type1', Type2 = 'Type2' } export interface Phrase { index: number beat: number kind: number k1: number k2: number b: number beat2: number beat3: number beat4: number k3: number fill: number beatFill: number } export declare const enum PlaylistKeyType { TrackID = 0, Location = 1 } export declare const enum PlaylistNodeType { Folder = 0, Playlist = 1 } export interface PlaylistTrack { key: string } export declare const enum PlayMode { Continue = 'Continue', Single = 'Single' } export interface PositionMark { name: string markType: number start: number end?: number num: number } export declare const enum Quantize { Off = 'Off', On = 'On' } export declare const enum QuantizeBeatValue { EighthBeat = 'EighthBeat', QuarterBeat = 'QuarterBeat', HalfBeat = 'HalfBeat', FullBeat = 'FullBeat' } export declare function rekordboxAgentAppDir(): string export declare function rekordboxAppDir(): string export declare const enum SlipFlashing { Off = 'Off', On = 'On' } export interface SongStructureData { mood: Mood endBeat: number bank: Bank phrases: Array<Phrase> } export declare const enum Sync { Off = 'Off', On = 'On' } export declare const enum TalkOverLevel { Minus24dB = 'Minus24dB', Minus18dB = 'Minus18dB', Minus12dB = 'Minus12dB', Minus6dB = 'Minus6dB' } export declare const enum TalkOverMode { Advanced = 'Advanced', Normal = 'Normal' } export interface Tempo { inizio: number bpm: number metro: string battito: number } export declare const enum TempoRange { SixPercent = 'SixPercent', TenPercent = 'TenPercent', SixteenPercent = 'SixteenPercent', Wide = 'Wide' } export declare const enum TimeMode { Elapsed = 'Elapsed', Remain = 'Remain' } export interface TinyWaveformColumn { height: number } export interface TinyWaveformPreview { data: Array<TinyWaveformColumn> } export interface Track { trackid: string name?: string artist?: string composer?: string album?: string grouping?: string genre?: string kind?: string size?: number totaltime?: number discnumber?: number tracknumber?: number year?: number averagebpm?: number datemodified?: Date dateadded?: Date bitrate?: number samplerate?: number comments?: string playcount?: number lastplayed?: Date rating?: number location: string remixer?: string tonality?: string label?: string mix?: string color?: string tempos?: Array<Tempo> positionMarks?: Array<PositionMark> } export declare const enum VinylSpeedAdjust { TouchRelease = 'TouchRelease', Touch = 'Touch', Release = 'Release' } export declare const enum Waveform { Waveform = 'Waveform', PhaseMeter = 'PhaseMeter' } export interface Waveform3BandColumn { mid: number high: number low: number } export interface Waveform3BandDetail { data: Array<Waveform3BandColumn> } export interface Waveform3BandPreview { data: Array<Waveform3BandColumn> } export declare const enum WaveformColor { Blue = 'Blue', Rgb = 'Rgb', TriBand = 'TriBand' } export interface WaveformColorDetail { data: Array<WaveformColorDetailColumn> } export interface WaveformColorDetailColumn { red: number green: number blue: number height: number } export interface WaveformColorPreview { data: Array<WaveformColorPreviewColumn> } export interface WaveformColorPreviewColumn { energyBottomHalfFreq: number energyBottomThirdFreq: number energyMidThirdFreq: number energyTopThirdFreq: number } export interface WaveformColumn { height: number whiteness: number } export declare const enum WaveformCurrentPosition { Left = 'Left', Center = 'Center' } export interface WaveformDetail { data: Array<WaveformColumn> } export declare const enum WaveformDivisions { TimeScale = 'TimeScale', Phrase = 'Phrase' } export interface WaveformPreview { data: Array<WaveformColumn> }