import { User } from "./user";
export interface TrendingOptions {
    limit?: number;
    offset?: number;
}
export interface Visual {
    urn: string;
    entry_time: number;
    visual_url: string;
}
export interface Transcoding {
    url: string;
    preset: string;
    duration: number;
    snipped: boolean;
    format: {
        protocol: string;
        mime_type: string;
    };
    quality: string;
}
export interface Track {
    artwork_url?: string;
    caption?: string;
    commentable: boolean;
    comment_count: number;
    created_at: Date;
    description?: string;
    downloadable: boolean;
    download_count: number;
    duration: number;
    full_duration: number;
    embeddable_by: string;
    genre: string;
    has_downloads_left: boolean;
    id: number;
    kind: string;
    label_name?: string;
    last_modified: Date;
    license: string;
    likes_count: number;
    permalink: string;
    permalink_url: string;
    playback_count: number;
    public: boolean;
    publisher_metadata: {
        id: number;
        urn: string;
        artist: string;
        contains_music: boolean;
        publisher: string;
        isrc: string;
        explicit: boolean;
        p_line: string;
        p_line_for_display: string;
        writer_composer: string;
        release_title: string;
    };
    purchase_title?: string;
    purchase_url?: string;
    release_date: Date;
    reposts_count: number;
    secret_token?: string;
    sharing: string;
    state: string;
    streamable: boolean;
    tag_list: string;
    title: string;
    track_format: string;
    uri: string;
    urn: string;
    user_id: number;
    visuals?: Visual;
    waveform_url: string;
    display_date: Date;
    media: {
        transcodings: Transcoding[];
    };
    station_permalink: string;
    monetization_model: string;
    policy: string;
    user: User;
}
export interface TrendingTrackResponse {
    collection: Track[];
    kind: string;
    next_href?: string;
    query_urn?: string;
}
