import { CookieJar } from "tough-cookie";
import { type APIAlbum, type APIOptions } from "./index.js";
import { type DeezerTrack } from "./schema/track-schema.js";
type APIArgs = Record<string | number, string | number>;
export declare class API {
    httpHeaders: {
        "User-Agent": string;
    };
    cookieJar: CookieJar;
    access_token: string | null;
    constructor(cookieJar: CookieJar, headers: {
        "User-Agent": string;
    });
    call(endpoint: string, args?: APIArgs): Promise<unknown>;
    getTrack(song_id: string | number): Promise<DeezerTrack>;
    getTrackByISRC(isrc: string): Promise<DeezerTrack>;
    get_album(album_id: string | number): Promise<APIAlbum>;
    get_album_by_UPC(upc: string): Promise<APIAlbum>;
    get_album_comments(album_id: number, options?: APIOptions): Promise<unknown>;
    get_album_fans(album_id: number, options?: APIOptions): Promise<unknown>;
    get_album_tracks(album_id: number, options?: APIOptions): Promise<unknown>;
    get_artist(artist_id: any): Promise<unknown>;
    get_artist_top(artist_id: any, options?: APIOptions): Promise<unknown>;
    get_artist_albums(artist_id: any, options?: APIOptions): Promise<unknown>;
    get_artist_comments(artist_id: any, options?: APIOptions): Promise<unknown>;
    get_artist_fans(artist_id: any, options?: APIOptions): Promise<unknown>;
    get_artist_related(artist_id: any, options?: APIOptions): Promise<unknown>;
    get_artist_radio(artist_id: any, options?: APIOptions): Promise<unknown>;
    get_artist_playlists(artist_id: any, options?: APIOptions): Promise<unknown>;
    get_chart(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_chart_tracks(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_chart_albums(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_chart_artists(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_chart_playlists(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_chart_podcasts(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_podcast(podcast_id: string | number): Promise<unknown>;
    get_podcast_episodes(podcast_id: string | number, options?: APIOptions): Promise<unknown>;
    get_episode(episode_id: string | number): Promise<unknown>;
    get_comment(comment_id: any): Promise<unknown>;
    get_editorials(options?: APIOptions): Promise<unknown>;
    get_editorial(genre_id?: number): Promise<unknown>;
    get_editorial_selection(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_editorial_charts(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_editorial_releases(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_genres(options?: APIOptions): Promise<unknown>;
    get_genre(genre_id?: number): Promise<unknown>;
    get_genre_artists(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_genre_radios(genre_id?: number, options?: APIOptions): Promise<unknown>;
    get_infos(): Promise<unknown>;
    get_options(): Promise<unknown>;
    get_playlist(playlist_id: any): Promise<unknown>;
    get_playlist_comments(album_id: any, options?: APIOptions): Promise<unknown>;
    get_playlist_fans(album_id: any, options?: APIOptions): Promise<unknown>;
    get_playlist_tracks(album_id: any, options?: APIOptions): Promise<unknown>;
    get_playlist_radio(album_id: any, options?: APIOptions): Promise<unknown>;
    get_radios(options?: APIOptions): Promise<unknown>;
    get_radios_genres(options?: APIOptions): Promise<unknown>;
    get_radios_top(options?: APIOptions): Promise<unknown>;
    get_radios_lists(options?: APIOptions): Promise<unknown>;
    get_radio(radio_id: any): Promise<unknown>;
    get_radio_tracks(radio_id: any, options?: APIOptions): Promise<unknown>;
    _generate_search_advanced_query(filters: any): string;
    _generate_search_args(query: any, options?: APIOptions): APIArgs;
    search(query: any, options?: APIOptions): Promise<unknown>;
    advanced_search(filters: any, options?: APIOptions): Promise<unknown>;
    search_album(query: any, options?: APIOptions): Promise<unknown>;
    search_artist(query: any, options?: APIOptions): Promise<unknown>;
    search_playlist(query: any, options?: APIOptions): Promise<unknown>;
    search_radio(query: any, options?: APIOptions): Promise<unknown>;
    search_track(query: any, options?: APIOptions): Promise<unknown>;
    search_user(query: any, options?: APIOptions): Promise<unknown>;
    get_user(user_id: any): Promise<unknown>;
    get_user_albums(user_id: any, options?: APIOptions): Promise<unknown>;
    get_user_artists(user_id: any, options?: APIOptions): Promise<unknown>;
    get_user_flow(user_id: any, options?: APIOptions): Promise<unknown>;
    get_user_following(user_id: any, options?: APIOptions): Promise<unknown>;
    get_user_followers(user_id: any, options?: APIOptions): Promise<unknown>;
    get_user_playlists(user_id: any, options?: APIOptions): Promise<unknown>;
    get_user_radios(user_id: any, options?: APIOptions): Promise<unknown>;
    get_user_tracks(user_id: any, options?: APIOptions): Promise<unknown>;
    get_countries_charts(): Promise<any>;
    get_track_id_from_metadata(artist: any, track: any, album: any): Promise<any>;
}
export {};
//# sourceMappingURL=api.d.ts.map