/** * Audius API * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Access } from './Access'; import type { AccessGate } from './AccessGate'; import type { AlbumBacklink } from './AlbumBacklink'; import type { CoverArt } from './CoverArt'; import type { DdexCopyright } from './DdexCopyright'; import type { DdexResourceContributor } from './DdexResourceContributor'; import type { DdexRightsController } from './DdexRightsController'; import type { Favorite } from './Favorite'; import type { FieldVisibility } from './FieldVisibility'; import type { RemixParent } from './RemixParent'; import type { Repost } from './Repost'; import type { StemParent } from './StemParent'; import type { TrackArtwork } from './TrackArtwork'; import type { TrackSegment } from './TrackSegment'; import type { UrlWithMirrors } from './UrlWithMirrors'; import type { User } from './User'; /** * * @export * @interface Track */ export interface Track { /** * * @type {TrackArtwork} * @memberof Track */ artwork: TrackArtwork; /** * * @type {string} * @memberof Track */ description?: string; /** * * @type {string} * @memberof Track */ genre: string; /** * * @type {string} * @memberof Track */ id: string; /** * * @type {string} * @memberof Track */ trackCid?: string; /** * * @type {string} * @memberof Track */ previewCid?: string; /** * * @type {string} * @memberof Track */ origFileCid?: string; /** * * @type {string} * @memberof Track */ origFilename?: string; /** * * @type {boolean} * @memberof Track */ isOriginalAvailable: boolean; /** * * @type {string} * @memberof Track */ mood?: string; /** * * @type {Date} * @memberof Track */ releaseDate?: Date; /** * * @type {RemixParent} * @memberof Track */ remixOf: RemixParent; /** * * @type {number} * @memberof Track */ repostCount: number; /** * * @type {number} * @memberof Track */ favoriteCount: number; /** * * @type {number} * @memberof Track */ commentCount: number; /** * * @type {string} * @memberof Track */ tags?: string; /** * * @type {string} * @memberof Track */ title: string; /** * * @type {User} * @memberof Track */ user: User; /** * * @type {number} * @memberof Track */ duration: number; /** * * @type {boolean} * @memberof Track */ isDownloadable: boolean; /** * * @type {number} * @memberof Track */ playCount: number; /** * * @type {string} * @memberof Track */ permalink: string; /** * * @type {boolean} * @memberof Track */ isStreamable?: boolean; /** * * @type {string} * @memberof Track */ ddexApp?: string; /** * * @type {Array} * @memberof Track */ playlistsContainingTrack?: Array; /** * * @type {number} * @memberof Track */ pinnedCommentId?: number; /** * * @type {AlbumBacklink} * @memberof Track */ albumBacklink?: AlbumBacklink; /** * Describes what access the given user has * @type {Access} * @memberof Track */ access: Access; /** * The blocknumber this track was last updated * @type {number} * @memberof Track */ blocknumber: number; /** * * @type {string} * @memberof Track */ createDate?: string; /** * * @type {string} * @memberof Track */ coverArtSizes: string; /** * * @type {CoverArt} * @memberof Track */ coverArtCids?: CoverArt; /** * * @type {string} * @memberof Track */ createdAt: string; /** * * @type {string} * @memberof Track */ creditsSplits?: string; /** * * @type {string} * @memberof Track */ isrc?: string; /** * * @type {string} * @memberof Track */ license?: string; /** * * @type {string} * @memberof Track */ iswc?: string; /** * * @type {FieldVisibility} * @memberof Track */ fieldVisibility: FieldVisibility; /** * * @type {Array} * @memberof Track */ followeeReposts: Array; /** * * @type {boolean} * @memberof Track */ hasCurrentUserReposted: boolean; /** * * @type {boolean} * @memberof Track */ isScheduledRelease: boolean; /** * * @type {boolean} * @memberof Track */ isUnlisted: boolean; /** * * @type {boolean} * @memberof Track */ hasCurrentUserSaved: boolean; /** * * @type {Array} * @memberof Track */ followeeFavorites: Array; /** * * @type {string} * @memberof Track */ routeId: string; /** * * @type {StemParent} * @memberof Track */ stemOf?: StemParent; /** * * @type {Array} * @memberof Track */ trackSegments: Array; /** * * @type {string} * @memberof Track */ updatedAt: string; /** * * @type {string} * @memberof Track */ userId: string; /** * * @type {boolean} * @memberof Track */ isDelete: boolean; /** * * @type {string} * @memberof Track */ coverArt?: string; /** * * @type {boolean} * @memberof Track */ isAvailable: boolean; /** * * @type {number} * @memberof Track */ aiAttributionUserId?: number; /** * * @type {Array} * @memberof Track */ allowedApiKeys?: Array; /** * * @type {string} * @memberof Track */ audioUploadId?: string; /** * * @type {number} * @memberof Track */ previewStartSeconds?: number; /** * * @type {number} * @memberof Track */ bpm?: number; /** * * @type {boolean} * @memberof Track */ isCustomBpm?: boolean; /** * * @type {string} * @memberof Track */ musicalKey?: string; /** * * @type {boolean} * @memberof Track */ isCustomMusicalKey?: boolean; /** * * @type {number} * @memberof Track */ audioAnalysisErrorCount?: number; /** * * @type {boolean} * @memberof Track */ commentsDisabled?: boolean; /** * * @type {object} * @memberof Track */ ddexReleaseIds?: object; /** * * @type {Array} * @memberof Track */ artists?: Array; /** * * @type {Array} * @memberof Track */ resourceContributors?: Array | null; /** * * @type {Array} * @memberof Track */ indirectResourceContributors?: Array | null; /** * * @type {DdexRightsController} * @memberof Track */ rightsController?: DdexRightsController; /** * * @type {DdexCopyright} * @memberof Track */ copyrightLine?: DdexCopyright | null; /** * * @type {DdexCopyright} * @memberof Track */ producerCopyrightLine?: DdexCopyright | null; /** * * @type {string} * @memberof Track */ parentalWarningType?: string | null; /** * Whether or not the owner has restricted streaming behind an access gate * @type {boolean} * @memberof Track */ isStreamGated: boolean; /** * Wallet addresses that can sign to authorize stream access (programmable distribution). When empty or omitted, the track is public and validator/creator nodes can serve it. * @type {Array} * @memberof Track */ accessAuthorities?: Array | null; /** * How to unlock stream access to the track * @type {AccessGate} * @memberof Track */ streamConditions?: AccessGate; /** * Whether or not the owner has restricted downloading behind an access gate * @type {boolean} * @memberof Track */ isDownloadGated: boolean; /** * How to unlock the track download * @type {AccessGate} * @memberof Track */ downloadConditions?: AccessGate; /** * * @type {string} * @memberof Track */ coverOriginalSongTitle?: string; /** * * @type {string} * @memberof Track */ coverOriginalArtist?: string; /** * Indicates whether the track is owned by the user for MRI sake * @type {boolean} * @memberof Track */ isOwnedByUser: boolean; /** * * @type {UrlWithMirrors} * @memberof Track */ stream: UrlWithMirrors; /** * * @type {UrlWithMirrors} * @memberof Track */ download: UrlWithMirrors; /** * * @type {UrlWithMirrors} * @memberof Track */ preview: UrlWithMirrors; } /** * Check if a given object implements the Track interface. */ export declare function instanceOfTrack(value: object): value is Track; export declare function TrackFromJSON(json: any): Track; export declare function TrackFromJSONTyped(json: any, ignoreDiscriminator: boolean): Track; export declare function TrackToJSON(value?: Track | null): any;