import { type APIOptions } from "./index.js";
export declare const PlaylistStatus: {
    PUBLIC: number;
    PRIVATE: number;
    COLLABORATIVE: number;
};
export interface GWTrack {
    ALB_ID: string;
    TRACK_TOKEN_EXPIRE: number;
    TOKEN: string;
    USER_ID: any;
    FILESIZE_MP3_MISC: any;
    VERSION: string;
    TRACK_NUMBER: number;
    DISK_NUMBER: number;
    RANK: any;
    RANK_SNG: any;
    PHYSICAL_RELEASE_DATE: string;
    EXPLICIT_LYRICS(EXPLICIT_LYRICS: any): boolean;
    EXPLICIT_TRACK_CONTENT: any;
    MEDIA: any;
    GAIN: number;
    ARTISTS: any;
    LYRICS_ID: any;
    SNG_CONTRIBUTORS: any;
    FALLBACK: any;
    DIGITAL_RELEASE_DATE: any;
    GENRE_ID: any;
    COPYRIGHT: any;
    LYRICS: any;
    ALBUM_FALLBACK: any;
    FILESIZE_AAC_64: any;
    FILESIZE_MP3_64: any;
    FILESIZE_MP3_128: any;
    FILESIZE_MP3_256: any;
    FILESIZE_MP3_320: any;
    FILESIZE_MP4_RA1: any;
    FILESIZE_MP4_RA2: any;
    FILESIZE_MP4_RA3: any;
    FILESIZE_FLAC: any;
    TRACK_TOKEN: string;
    SNG_ID: number;
    SNG_TITLE: string;
    DURATION: number;
    MD5_ORIGIN: number;
    MEDIA_VERSION: number;
    FILESIZE: number;
    ALB_TITLE: string;
    ALB_PICTURE: string;
    ART_ID: number;
    ART_NAME: string;
    ISRC: string;
}
export declare const EMPTY_TRACK_OBJ: {
    SNG_ID: number;
    SNG_TITLE: string;
    DURATION: number;
    MD5_ORIGIN: number;
    MEDIA_VERSION: number;
    FILESIZE: number;
    ALB_TITLE: string;
    ALB_PICTURE: string;
    ART_ID: number;
    ART_NAME: string;
};
export declare class GW {
    httpHeaders: any;
    cookieJar: any;
    api_token: any;
    constructor(cookieJar: any, headers: any);
    api_call(method: string, args?: any, params?: any): Promise<any>;
    _get_token(): Promise<any>;
    get_user_data(): Promise<any>;
    get_user_profile_page(user_id: any, tab: any, options?: APIOptions): Promise<any>;
    get_user_favorite_ids(checksum?: null, options?: APIOptions): Promise<any>;
    get_child_accounts(): Promise<any>;
    getTrack(sng_id: string | number): Promise<GWTrack>;
    get_track_page(sng_id: any): Promise<any>;
    get_track_lyrics(sng_id: any): Promise<any>;
    get_tracks(sng_ids: any): Promise<any[]>;
    get_album(alb_id: any): Promise<any>;
    get_album_page(alb_id: any): Promise<any>;
    get_album_tracks(alb_id: any): Promise<any[]>;
    get_artist(art_id: any): Promise<any>;
    get_artist_page(art_id: any): Promise<any>;
    get_artist_top_tracks(art_id: any, options?: APIOptions): Promise<any[]>;
    get_artist_discography(art_id: any, options?: APIOptions): Promise<any>;
    get_playlist(playlist_id: any): Promise<any>;
    get_playlist_page(playlist_id: any): Promise<any>;
    get_playlist_tracks(playlist_id: any): Promise<any[]>;
    create_playlist(title: any, status: number | undefined, description: any, songs?: never[]): Promise<any>;
    edit_playlist(playlist_id: any, title: any, status: any, description: any, songs?: never[]): Promise<any>;
    add_songs_to_playlist(playlist_id: any, songs: any, offset?: number): Promise<any>;
    add_song_to_playlist(playlist_id: any, sng_id: any, offset?: number): Promise<any>;
    remove_songs_from_playlist(playlist_id: any, songs: any): Promise<any>;
    remove_song_from_playlist(playlist_id: any, sng_id: any): Promise<any>;
    delete_playlist(playlist_id: any): Promise<any>;
    add_song_to_favorites(sng_id: any): void;
    gw_api_call(arg0: string, arg1: Record<string, any>): void;
    remove_song_from_favorites(sng_id: any): void;
    add_album_to_favorites(alb_id: any): void;
    remove_album_from_favorites(alb_id: any): void;
    add_artist_to_favorites(art_id: any): void;
    remove_artist_from_favorites(art_id: any): void;
    add_playlist_to_favorites(playlist_id: any): void;
    remove_playlist_from_favorites(playlist_id: any): void;
    get_page(page: any): Promise<any>;
    get_page_show(show_id: string | number, options?: APIOptions): Promise<any>;
    get_episode_data(episode_id: string | number): Promise<any>;
    search(query: any, index?: number, limit?: number, suggest?: boolean, artist_suggest?: boolean, top_tracks?: boolean): Promise<any>;
    search_music(query: any, type: any, options?: APIOptions): Promise<any>;
    get_artist_discography_tabs(art_id: any, options?: APIOptions): Promise<any>;
    get_track_with_fallback(sng_id: any): Promise<GWTrack>;
    get_user_playlists(user_id: any, options?: APIOptions): Promise<any[]>;
    get_user_albums(user_id: any, options?: APIOptions): Promise<any[]>;
    get_user_artists(user_id: any, options?: APIOptions): Promise<any[]>;
    get_user_tracks(user_id: any, options?: APIOptions): Promise<any[]>;
    get_my_favorite_tracks(options?: APIOptions): Promise<any[]>;
}
//# sourceMappingURL=gw.d.ts.map