/**
 * API
 * Audius V1 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 * as runtime from '../runtime';
import type { AccessInfoResponse, CreateTrackRequestBody, CreateTrackResponse, FavoriteRequestBody, RemixablesResponse, RemixesResponse, RemixingResponse, RepostRequestBody, StemsResponse, StreamUrlResponse, TopListener, TrackCommentCountResponse, TrackCommentNotificationResponse, TrackCommentsResponse, TrackDownloadRequestBody, TrackFavoritesResponse, TrackInspect, TrackInspectList, TrackRepostsResponse, TrackResponse, TrackSearch, TracksResponse, TrendingIdsResponse, UpdateTrackRequestBody, WriteResponse } from '../models';
export interface CreateTrackRequest {
    userId: string;
    metadata: CreateTrackRequestBody;
}
export interface DeleteTrackRequest {
    trackId: string;
    userId: string;
}
export interface DownloadTrackRequest {
    trackId: string;
    userId?: string;
    userSignature?: string;
    userData?: string;
    nftAccessSignature?: string;
    filename?: string;
}
export interface FavoriteTrackRequest {
    trackId: string;
    userId: string;
    metadata?: FavoriteRequestBody;
}
export interface GetBestNewReleasesRequest {
    window: GetBestNewReleasesWindowEnum;
    userId?: string;
    limit?: number;
    withUsers?: boolean;
}
export interface GetBulkTracksRequest {
    userId?: string;
    permalink?: Array<string>;
    id?: Array<string>;
    isrc?: Array<string>;
}
export interface GetFeelingLuckyTracksRequest {
    userId?: string;
    limit?: number;
    withUsers?: boolean;
    minFollowers?: number;
}
export interface GetMostLovedTracksRequest {
    userId?: string;
    limit?: number;
    withUsers?: boolean;
}
export interface GetMostSharedTracksRequest {
    userId?: string;
    limit?: number;
    offset?: number;
    timeRange?: GetMostSharedTracksTimeRangeEnum;
}
export interface GetRecentPremiumTracksRequest {
    offset?: number;
    limit?: number;
    userId?: string;
}
export interface GetRecommendedTracksRequest {
    limit?: number;
    genre?: string;
    time?: GetRecommendedTracksTimeEnum;
    exclusionList?: Array<number>;
    userId?: string;
}
export interface GetRecommendedTracksWithVersionRequest {
    version: string;
    limit?: number;
    genre?: string;
    time?: GetRecommendedTracksWithVersionTimeEnum;
    exclusionList?: Array<number>;
    userId?: string;
}
export interface GetRemixableTracksRequest {
    limit?: number;
    userId?: string;
    withUsers?: boolean;
}
export interface GetTrackRequest {
    trackId: string;
    userId?: string;
}
export interface GetTrackAccessInfoRequest {
    trackId: string;
    userId?: string;
}
export interface GetTrackCommentCountRequest {
    trackId: string;
    userId?: string;
}
export interface GetTrackCommentNotificationSettingRequest {
    trackId: string;
    userId?: string;
}
export interface GetTrackCommentsRequest {
    trackId: string;
    offset?: number;
    limit?: number;
    userId?: string;
    sortMethod?: GetTrackCommentsSortMethodEnum;
}
export interface GetTrackRemixParentsRequest {
    trackId: string;
    offset?: number;
    limit?: number;
    userId?: string;
}
export interface GetTrackRemixesRequest {
    trackId: string;
    offset?: number;
    limit?: number;
    userId?: string;
    sortMethod?: GetTrackRemixesSortMethodEnum;
    onlyCosigns?: boolean;
    onlyContestEntries?: boolean;
}
export interface GetTrackStemsRequest {
    trackId: string;
}
export interface GetTrackTopListenersRequest {
    trackId: string;
    offset?: number;
    limit?: number;
    userId?: string;
}
export interface GetTracksWithRecentCommentsRequest {
    userId?: string;
    limit?: number;
    offset?: number;
}
export interface GetTrendingTrackIDsRequest {
    offset?: number;
    limit?: number;
    genre?: string;
}
export interface GetTrendingTracksRequest {
    offset?: number;
    limit?: number;
    userId?: string;
    genre?: string;
    time?: GetTrendingTracksTimeEnum;
}
export interface GetTrendingTracksIDsWithVersionRequest {
    version: string;
    offset?: number;
    limit?: number;
    genre?: string;
}
export interface GetTrendingTracksWithVersionRequest {
    version: string;
    offset?: number;
    limit?: number;
    userId?: string;
    genre?: string;
    time?: GetTrendingTracksWithVersionTimeEnum;
}
export interface GetTrendingUSDCPurchaseTracksRequest {
    offset?: number;
    limit?: number;
    userId?: string;
    genre?: string;
    time?: GetTrendingUSDCPurchaseTracksTimeEnum;
}
export interface GetTrendingUSDCPurchaseTracksWithVersionRequest {
    version: string;
    offset?: number;
    limit?: number;
    userId?: string;
    genre?: string;
    time?: GetTrendingUSDCPurchaseTracksWithVersionTimeEnum;
}
export interface GetTrendingUndergroundWinnersRequest {
    week?: Date;
    userId?: string;
}
export interface GetTrendingWinnersRequest {
    week?: Date;
    userId?: string;
}
export interface GetUnderTheRadarTracksRequest {
    offset?: number;
    limit?: number;
    userId?: string;
    filter?: GetUnderTheRadarTracksFilterEnum;
    tracksOnly?: boolean;
    withUsers?: boolean;
}
export interface GetUndergroundTrendingTracksRequest {
    offset?: number;
    limit?: number;
    userId?: string;
}
export interface GetUndergroundTrendingTracksWithVersionRequest {
    version: string;
    offset?: number;
    limit?: number;
    userId?: string;
}
export interface GetUsersFromFavoritesRequest {
    trackId: string;
    offset?: number;
    limit?: number;
    userId?: string;
}
export interface GetUsersFromRepostsRequest {
    trackId: string;
    offset?: number;
    limit?: number;
    userId?: string;
}
export interface InspectTrackRequest {
    trackId: string;
    original?: boolean;
}
export interface InspectTracksRequest {
    id: Array<string>;
    original?: boolean;
}
export interface RecordTrackDownloadRequest {
    trackId: string;
    userId?: string;
    location?: TrackDownloadRequestBody;
}
export interface RepostTrackRequest {
    trackId: string;
    userId: string;
    repostRequestBody?: RepostRequestBody;
}
export interface SearchTracksRequest {
    offset?: number;
    limit?: number;
    query?: string;
    genre?: Array<string>;
    sortMethod?: SearchTracksSortMethodEnum;
    mood?: Array<string>;
    onlyDownloadable?: string;
    includePurchaseable?: string;
    isPurchaseable?: string;
    hasDownloads?: string;
    key?: Array<string>;
    bpmMin?: string;
    bpmMax?: string;
}
export interface ShareTrackRequest {
    trackId: string;
    userId: string;
}
export interface StreamTrackRequest {
    trackId: string;
    userId?: string;
    preview?: boolean;
    userSignature?: string;
    userData?: string;
    nftAccessSignature?: string;
    skipPlayCount?: boolean;
    apiKey?: string;
    skipCheck?: boolean;
    noRedirect?: boolean;
}
export interface UnfavoriteTrackRequest {
    trackId: string;
    userId: string;
}
export interface UnrepostTrackRequest {
    trackId: string;
    userId: string;
}
export interface UpdateTrackRequest {
    trackId: string;
    userId: string;
    metadata: UpdateTrackRequestBody;
}
/**
 *
 */
export declare class TracksApi extends runtime.BaseAPI {
    /**
     * @hidden
     * Creates a new track
     */
    createTrackRaw(params: CreateTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateTrackResponse>>;
    /**
     * Creates a new track
     */
    createTrack(params: CreateTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateTrackResponse>;
    /**
     * @hidden
     * Deletes a track
     */
    deleteTrackRaw(params: DeleteTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Deletes a track
     */
    deleteTrack(params: DeleteTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Download an original or mp3 track
     * Download the original or MP3 file of a track
     */
    downloadTrackRaw(params: DownloadTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Download an original or mp3 track
     * Download the original or MP3 file of a track
     */
    downloadTrack(params: DownloadTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * @hidden
     * Favorite a track
     */
    favoriteTrackRaw(params: FavoriteTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Favorite a track
     */
    favoriteTrack(params: FavoriteTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Gets the tracks found on the \"Best New Releases\" smart playlist
     */
    getBestNewReleasesRaw(params: GetBestNewReleasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the tracks found on the \"Best New Releases\" smart playlist
     */
    getBestNewReleases(params: GetBestNewReleasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets a list of tracks using their IDs or permalinks
     */
    getBulkTracksRaw(params: GetBulkTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets a list of tracks using their IDs or permalinks
     */
    getBulkTracks(params?: GetBulkTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets random tracks found on the \"Feeling Lucky\" smart playlist
     */
    getFeelingLuckyTracksRaw(params: GetFeelingLuckyTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets random tracks found on the \"Feeling Lucky\" smart playlist
     */
    getFeelingLuckyTracks(params?: GetFeelingLuckyTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the tracks found on the \"Most Loved\" smart playlist
     */
    getMostLovedTracksRaw(params: GetMostLovedTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the tracks found on the \"Most Loved\" smart playlist
     */
    getMostLovedTracks(params?: GetMostLovedTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the most shared tracks for a given time range
     */
    getMostSharedTracksRaw(params: GetMostSharedTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the most shared tracks for a given time range
     */
    getMostSharedTracks(params?: GetMostSharedTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the most recently listed premium tracks
     */
    getRecentPremiumTracksRaw(params: GetRecentPremiumTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the most recently listed premium tracks
     */
    getRecentPremiumTracks(params?: GetRecentPremiumTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Get recommended tracks
     */
    getRecommendedTracksRaw(params: GetRecommendedTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Get recommended tracks
     */
    getRecommendedTracks(params?: GetRecommendedTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Get recommended tracks using the given trending strategy version
     */
    getRecommendedTracksWithVersionRaw(params: GetRecommendedTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Get recommended tracks using the given trending strategy version
     */
    getRecommendedTracksWithVersion(params: GetRecommendedTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets a list of tracks that have stems available for remixing
     */
    getRemixableTracksRaw(params: GetRemixableTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RemixablesResponse>>;
    /**
     * Gets a list of tracks that have stems available for remixing
     */
    getRemixableTracks(params?: GetRemixableTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RemixablesResponse>;
    /**
     * @hidden
     * Gets a track by ID.
     */
    getTrackRaw(params: GetTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackResponse>>;
    /**
     * Gets a track by ID.
     */
    getTrack(params: GetTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackResponse>;
    /**
     * @hidden
     * Gets the information necessary to access the track and what access the given user has.
     */
    getTrackAccessInfoRaw(params: GetTrackAccessInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccessInfoResponse>>;
    /**
     * Gets the information necessary to access the track and what access the given user has.
     */
    getTrackAccessInfo(params: GetTrackAccessInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccessInfoResponse>;
    /**
     * @hidden
     * Get the comment count for a track
     */
    getTrackCommentCountRaw(params: GetTrackCommentCountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackCommentCountResponse>>;
    /**
     * Get the comment count for a track
     */
    getTrackCommentCount(params: GetTrackCommentCountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackCommentCountResponse>;
    /**
     * @hidden
     * Get the comment notification setting for a track
     */
    getTrackCommentNotificationSettingRaw(params: GetTrackCommentNotificationSettingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackCommentNotificationResponse>>;
    /**
     * Get the comment notification setting for a track
     */
    getTrackCommentNotificationSetting(params: GetTrackCommentNotificationSettingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackCommentNotificationResponse>;
    /**
     * @hidden
     * Get a list of comments for a track
     */
    getTrackCommentsRaw(params: GetTrackCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackCommentsResponse>>;
    /**
     * Get a list of comments for a track
     */
    getTrackComments(params: GetTrackCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackCommentsResponse>;
    /**
     * @hidden
     * Gets all the tracks that the given track remixes
     */
    getTrackRemixParentsRaw(params: GetTrackRemixParentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RemixingResponse>>;
    /**
     * Gets all the tracks that the given track remixes
     */
    getTrackRemixParents(params: GetTrackRemixParentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RemixingResponse>;
    /**
     * @hidden
     * Get all tracks that remix the given track
     */
    getTrackRemixesRaw(params: GetTrackRemixesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RemixesResponse>>;
    /**
     * Get all tracks that remix the given track
     */
    getTrackRemixes(params: GetTrackRemixesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RemixesResponse>;
    /**
     * @hidden
     * Get the remixable stems of a track
     */
    getTrackStemsRaw(params: GetTrackStemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StemsResponse>>;
    /**
     * Get the remixable stems of a track
     */
    getTrackStems(params: GetTrackStemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StemsResponse>;
    /**
     * @hidden
     * Get the users that have listened to a track the most
     */
    getTrackTopListenersRaw(params: GetTrackTopListenersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TopListener>>;
    /**
     * Get the users that have listened to a track the most
     */
    getTrackTopListeners(params: GetTrackTopListenersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TopListener>;
    /**
     * @hidden
     * Gets the most recent tracks with active discussion
     */
    getTracksWithRecentCommentsRaw(params: GetTracksWithRecentCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the most recent tracks with active discussion
     */
    getTracksWithRecentComments(params?: GetTracksWithRecentCommentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the track IDs of the top trending tracks on Audius
     */
    getTrendingTrackIDsRaw(params: GetTrendingTrackIDsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrendingIdsResponse>>;
    /**
     * Gets the track IDs of the top trending tracks on Audius
     */
    getTrendingTrackIDs(params?: GetTrendingTrackIDsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrendingIdsResponse>;
    /**
     * @hidden
     * Gets the top 100 trending (most popular) tracks on Audius
     */
    getTrendingTracksRaw(params: GetTrendingTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the top 100 trending (most popular) tracks on Audius
     */
    getTrendingTracks(params?: GetTrendingTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the track IDs of the top trending tracks on Audius based on the given trending strategy version
     */
    getTrendingTracksIDsWithVersionRaw(params: GetTrendingTracksIDsWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrendingIdsResponse>>;
    /**
     * Gets the track IDs of the top trending tracks on Audius based on the given trending strategy version
     */
    getTrendingTracksIDsWithVersion(params: GetTrendingTracksIDsWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrendingIdsResponse>;
    /**
     * @hidden
     * Gets the top 100 trending (most popular) tracks on Audius using a given trending strategy version
     */
    getTrendingTracksWithVersionRaw(params: GetTrendingTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the top 100 trending (most popular) tracks on Audius using a given trending strategy version
     */
    getTrendingTracksWithVersion(params: GetTrendingTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the top trending (most popular) USDC purchase tracks on Audius
     */
    getTrendingUSDCPurchaseTracksRaw(params: GetTrendingUSDCPurchaseTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the top trending (most popular) USDC purchase tracks on Audius
     */
    getTrendingUSDCPurchaseTracks(params?: GetTrendingUSDCPurchaseTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the top trending (most popular) USDC purchase tracks on Audius using a given trending strategy version
     */
    getTrendingUSDCPurchaseTracksWithVersionRaw(params: GetTrendingUSDCPurchaseTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the top trending (most popular) USDC purchase tracks on Audius using a given trending strategy version
     */
    getTrendingUSDCPurchaseTracksWithVersion(params: GetTrendingUSDCPurchaseTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets weekly trending underground winners from the trending_results table. Returns track objects for the specified week. Defaults to the most recent week with data when no week is provided.
     */
    getTrendingUndergroundWinnersRaw(params: GetTrendingUndergroundWinnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets weekly trending underground winners from the trending_results table. Returns track objects for the specified week. Defaults to the most recent week with data when no week is provided.
     */
    getTrendingUndergroundWinners(params?: GetTrendingUndergroundWinnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets weekly trending winners from the trending_results table. Returns track objects for the specified week. Defaults to the most recent week with data when no week is provided.
     */
    getTrendingWinnersRaw(params: GetTrendingWinnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets weekly trending winners from the trending_results table. Returns track objects for the specified week. Defaults to the most recent week with data when no week is provided.
     */
    getTrendingWinners(params?: GetTrendingWinnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the tracks found on the \"Under the Radar\" smart playlist
     */
    getUnderTheRadarTracksRaw(params: GetUnderTheRadarTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the tracks found on the \"Under the Radar\" smart playlist
     */
    getUnderTheRadarTracks(params?: GetUnderTheRadarTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the top 100 trending underground tracks on Audius
     */
    getUndergroundTrendingTracksRaw(params: GetUndergroundTrendingTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the top 100 trending underground tracks on Audius
     */
    getUndergroundTrendingTracks(params?: GetUndergroundTrendingTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Gets the top 100 trending underground tracks on Audius using a given trending strategy version
     */
    getUndergroundTrendingTracksWithVersionRaw(params: GetUndergroundTrendingTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TracksResponse>>;
    /**
     * Gets the top 100 trending underground tracks on Audius using a given trending strategy version
     */
    getUndergroundTrendingTracksWithVersion(params: GetUndergroundTrendingTracksWithVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TracksResponse>;
    /**
     * @hidden
     * Get users that favorited a track
     */
    getUsersFromFavoritesRaw(params: GetUsersFromFavoritesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackFavoritesResponse>>;
    /**
     * Get users that favorited a track
     */
    getUsersFromFavorites(params: GetUsersFromFavoritesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackFavoritesResponse>;
    /**
     * @hidden
     * Get the users that reposted a track
     */
    getUsersFromRepostsRaw(params: GetUsersFromRepostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackRepostsResponse>>;
    /**
     * Get the users that reposted a track
     */
    getUsersFromReposts(params: GetUsersFromRepostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackRepostsResponse>;
    /**
     * @hidden
     * Inspect a track
     * Inspects the details of the file for a track
     */
    inspectTrackRaw(params: InspectTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackInspect>>;
    /**
     * Inspect a track
     * Inspects the details of the file for a track
     */
    inspectTrack(params: InspectTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackInspect>;
    /**
     * @hidden
     * Inspect multiple tracks
     * Inspects the details of the files for multiple tracks
     */
    inspectTracksRaw(params: InspectTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackInspectList>>;
    /**
     * Inspect multiple tracks
     * Inspects the details of the files for multiple tracks
     */
    inspectTracks(params: InspectTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackInspectList>;
    /**
     * @hidden
     * Record a track download event
     */
    recordTrackDownloadRaw(params: RecordTrackDownloadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Record a track download event
     */
    recordTrackDownload(params: RecordTrackDownloadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Repost a track
     */
    repostTrackRaw(params: RepostTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Repost a track
     */
    repostTrack(params: RepostTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Search for a track or tracks
     */
    searchTracksRaw(params: SearchTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrackSearch>>;
    /**
     * Search for a track or tracks
     */
    searchTracks(params?: SearchTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrackSearch>;
    /**
     * @hidden
     * Record a track share event
     */
    shareTrackRaw(params: ShareTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Record a track share event
     */
    shareTrack(params: ShareTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Stream an mp3 track This endpoint accepts the Range header for streaming. https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
     * Get the streamable MP3 file of a track
     */
    streamTrackRaw(params: StreamTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StreamUrlResponse>>;
    /**
     * Stream an mp3 track This endpoint accepts the Range header for streaming. https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
     * Get the streamable MP3 file of a track
     */
    streamTrack(params: StreamTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StreamUrlResponse>;
    /**
     * @hidden
     * Unfavorite a track
     */
    unfavoriteTrackRaw(params: UnfavoriteTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Unfavorite a track
     */
    unfavoriteTrack(params: UnfavoriteTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Unrepost a track
     */
    unrepostTrackRaw(params: UnrepostTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Unrepost a track
     */
    unrepostTrack(params: UnrepostTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Updates an existing track
     */
    updateTrackRaw(params: UpdateTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Updates an existing track
     */
    updateTrack(params: UpdateTrackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
}
/**
 * @export
 */
export declare const GetBestNewReleasesWindowEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
};
export type GetBestNewReleasesWindowEnum = typeof GetBestNewReleasesWindowEnum[keyof typeof GetBestNewReleasesWindowEnum];
/**
 * @export
 */
export declare const GetMostSharedTracksTimeRangeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly AllTime: "allTime";
};
export type GetMostSharedTracksTimeRangeEnum = typeof GetMostSharedTracksTimeRangeEnum[keyof typeof GetMostSharedTracksTimeRangeEnum];
/**
 * @export
 */
export declare const GetRecommendedTracksTimeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
    readonly AllTime: "allTime";
};
export type GetRecommendedTracksTimeEnum = typeof GetRecommendedTracksTimeEnum[keyof typeof GetRecommendedTracksTimeEnum];
/**
 * @export
 */
export declare const GetRecommendedTracksWithVersionTimeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
    readonly AllTime: "allTime";
};
export type GetRecommendedTracksWithVersionTimeEnum = typeof GetRecommendedTracksWithVersionTimeEnum[keyof typeof GetRecommendedTracksWithVersionTimeEnum];
/**
 * @export
 */
export declare const GetTrackCommentsSortMethodEnum: {
    readonly Top: "top";
    readonly Newest: "newest";
    readonly Timestamp: "timestamp";
};
export type GetTrackCommentsSortMethodEnum = typeof GetTrackCommentsSortMethodEnum[keyof typeof GetTrackCommentsSortMethodEnum];
/**
 * @export
 */
export declare const GetTrackRemixesSortMethodEnum: {
    readonly Likes: "likes";
    readonly Plays: "plays";
    readonly Recent: "recent";
};
export type GetTrackRemixesSortMethodEnum = typeof GetTrackRemixesSortMethodEnum[keyof typeof GetTrackRemixesSortMethodEnum];
/**
 * @export
 */
export declare const GetTrendingTracksTimeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
    readonly AllTime: "allTime";
};
export type GetTrendingTracksTimeEnum = typeof GetTrendingTracksTimeEnum[keyof typeof GetTrendingTracksTimeEnum];
/**
 * @export
 */
export declare const GetTrendingTracksWithVersionTimeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
    readonly AllTime: "allTime";
};
export type GetTrendingTracksWithVersionTimeEnum = typeof GetTrendingTracksWithVersionTimeEnum[keyof typeof GetTrendingTracksWithVersionTimeEnum];
/**
 * @export
 */
export declare const GetTrendingUSDCPurchaseTracksTimeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
    readonly AllTime: "allTime";
};
export type GetTrendingUSDCPurchaseTracksTimeEnum = typeof GetTrendingUSDCPurchaseTracksTimeEnum[keyof typeof GetTrendingUSDCPurchaseTracksTimeEnum];
/**
 * @export
 */
export declare const GetTrendingUSDCPurchaseTracksWithVersionTimeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
    readonly AllTime: "allTime";
};
export type GetTrendingUSDCPurchaseTracksWithVersionTimeEnum = typeof GetTrendingUSDCPurchaseTracksWithVersionTimeEnum[keyof typeof GetTrendingUSDCPurchaseTracksWithVersionTimeEnum];
/**
 * @export
 */
export declare const GetUnderTheRadarTracksFilterEnum: {
    readonly All: "all";
    readonly Repost: "repost";
    readonly Original: "original";
};
export type GetUnderTheRadarTracksFilterEnum = typeof GetUnderTheRadarTracksFilterEnum[keyof typeof GetUnderTheRadarTracksFilterEnum];
/**
 * @export
 */
export declare const SearchTracksSortMethodEnum: {
    readonly Relevant: "relevant";
    readonly Popular: "popular";
    readonly Recent: "recent";
};
export type SearchTracksSortMethodEnum = typeof SearchTracksSortMethodEnum[keyof typeof SearchTracksSortMethodEnum];
