/**
 * API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * 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 { Favorite } from './Favorite';
import type { PlaylistAddedTimestamp } from './PlaylistAddedTimestamp';
import type { PlaylistArtwork } from './PlaylistArtwork';
import type { PlaylistArtworkFull } from './PlaylistArtworkFull';
import type { Repost } from './Repost';
import type { TrackFull } from './TrackFull';
import type { UserFull } from './UserFull';
/**
 *
 * @export
 * @interface FullPlaylistWithScore
 */
export interface FullPlaylistWithScore {
    /**
     *
     * @type {PlaylistArtworkFull}
     * @memberof FullPlaylistWithScore
     */
    artwork?: PlaylistArtworkFull;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    description?: string;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    permalink: string;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    id: string;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    isAlbum: boolean;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    isImageAutogenerated: boolean;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    playlistName: string;
    /**
     *
     * @type {Array<PlaylistAddedTimestamp>}
     * @memberof FullPlaylistWithScore
     */
    playlistContents: Array<PlaylistAddedTimestamp>;
    /**
     *
     * @type {number}
     * @memberof FullPlaylistWithScore
     */
    repostCount: number;
    /**
     *
     * @type {number}
     * @memberof FullPlaylistWithScore
     */
    favoriteCount: number;
    /**
     *
     * @type {number}
     * @memberof FullPlaylistWithScore
     */
    totalPlayCount: number;
    /**
     *
     * @type {UserFull}
     * @memberof FullPlaylistWithScore
     */
    user: UserFull;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    ddexApp?: string;
    /**
     *
     * @type {Access}
     * @memberof FullPlaylistWithScore
     */
    access: Access;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    upc?: string;
    /**
     *
     * @type {number}
     * @memberof FullPlaylistWithScore
     */
    trackCount: number;
    /**
     *
     * @type {number}
     * @memberof FullPlaylistWithScore
     */
    blocknumber: number;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    createdAt: string;
    /**
     *
     * @type {Array<Repost>}
     * @memberof FullPlaylistWithScore
     */
    followeeReposts: Array<Repost>;
    /**
     *
     * @type {Array<Favorite>}
     * @memberof FullPlaylistWithScore
     */
    followeeFavorites: Array<Favorite>;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    hasCurrentUserReposted: boolean;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    hasCurrentUserSaved: boolean;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    isDelete: boolean;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    isPrivate: boolean;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    updatedAt: string;
    /**
     * DEPRECATED. Use playlist_contents instead.
     * @type {Array<PlaylistAddedTimestamp>}
     * @memberof FullPlaylistWithScore
     */
    addedTimestamps: Array<PlaylistAddedTimestamp>;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    userId: string;
    /**
     *
     * @type {Array<TrackFull>}
     * @memberof FullPlaylistWithScore
     */
    tracks?: Array<TrackFull>;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    coverArt?: string;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    coverArtSizes?: string;
    /**
     *
     * @type {PlaylistArtwork}
     * @memberof FullPlaylistWithScore
     */
    coverArtCids?: PlaylistArtwork;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    isStreamGated: boolean;
    /**
     * How to unlock stream access to the track
     * @type {AccessGate}
     * @memberof FullPlaylistWithScore
     */
    streamConditions?: AccessGate;
    /**
     *
     * @type {boolean}
     * @memberof FullPlaylistWithScore
     */
    isScheduledRelease: boolean;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    releaseDate?: string;
    /**
     *
     * @type {object}
     * @memberof FullPlaylistWithScore
     */
    ddexReleaseIds?: object;
    /**
     *
     * @type {Array<object>}
     * @memberof FullPlaylistWithScore
     */
    artists?: Array<object>;
    /**
     *
     * @type {object}
     * @memberof FullPlaylistWithScore
     */
    copyrightLine?: object;
    /**
     *
     * @type {object}
     * @memberof FullPlaylistWithScore
     */
    producerCopyrightLine?: object;
    /**
     *
     * @type {string}
     * @memberof FullPlaylistWithScore
     */
    parentalWarningType?: string;
    /**
     *
     * @type {number}
     * @memberof FullPlaylistWithScore
     */
    score: number;
}
/**
 * Check if a given object implements the FullPlaylistWithScore interface.
 */
export declare function instanceOfFullPlaylistWithScore(value: object): value is FullPlaylistWithScore;
export declare function FullPlaylistWithScoreFromJSON(json: any): FullPlaylistWithScore;
export declare function FullPlaylistWithScoreFromJSONTyped(json: any, ignoreDiscriminator: boolean): FullPlaylistWithScore;
export declare function FullPlaylistWithScoreToJSON(value?: FullPlaylistWithScore | null): any;
