import { SpotiflyBase } from "./base.js";
import { Musixmatch } from "./musixmatch.js";
import { SpotifyAlbum, SpotifyArtist, SpotifyColorLyrics, SpotifyEpisode, SpotifyExtractedColors, SpotifyHome, SpotifyLikedSongs, SpotifyLikedSongsAdd, SpotifyLikedSongsRemove, SpotifyMyLibrary, SpotifyPlaylist, SpotifyPodcast, SpotifyPodcastEpisodes, SpotifyProductState, SpotifyRelatedTrackArtists, SpotifySearchAlbums, SpotifySearchAll, SpotifySearchArtists, SpotifySearchPlaylists, SpotifySearchPodcasts, SpotifySearchTracks, SpotifySearchUsers, SpotifySection, SpotifyTrack, SpotifyTrackCredits, SpotifyUser } from "./types";
declare class SpotiflyMain extends SpotiflyBase {
    constructor(cookie?: string);
    getHomepage(): Promise<SpotifyHome>;
    getTrack(id: string): Promise<SpotifyTrack>;
    getTrackCredits(id: string): Promise<SpotifyTrackCredits>;
    getRelatedTrackArtists(id: string): Promise<SpotifyRelatedTrackArtists>;
    getArtist(id: string): Promise<SpotifyArtist>;
    getAlbum(id: string, limit?: number): Promise<SpotifyAlbum>;
    getPlaylist(id: string, limit?: number): Promise<SpotifyPlaylist>;
    getPlaylistMetadata(id: string, limit?: number): Promise<import("./types").SpotifyPlaylistMetadata>;
    getPlaylistContents(id: string, limit?: number): Promise<import("./types").SpotifyPlaylistContents>;
    getUser(id: string, config?: {
        playlistLimit: number;
        artistLimit: number;
        episodeLimit: number;
    }): Promise<SpotifyUser>;
    getSection(id: string): Promise<SpotifySection>;
    getPodcast(id: string): Promise<SpotifyPodcast>;
    getPodcastEpisodes(id: string, limit?: number): Promise<SpotifyPodcastEpisodes>;
    getEpisode(id: string): Promise<SpotifyEpisode>;
    searchAll(terms: string, limit?: number): Promise<SpotifySearchAll>;
    searchTracks(terms: string, limit?: number): Promise<SpotifySearchTracks>;
    searchAlbums(terms: string, limit?: number): Promise<SpotifySearchAlbums>;
    searchPlaylists(terms: string, limit?: number): Promise<SpotifySearchPlaylists>;
    searchArtists(terms: string, limit?: number): Promise<SpotifySearchArtists>;
    searchUsers(terms: string, limit?: number): Promise<SpotifySearchUsers>;
    searchPodcasts(terms: string, limit?: number): Promise<SpotifySearchPodcasts>;
    getTrackLyrics(id: string): Promise<any>;
    extractImageColors(...urls: string[]): Promise<SpotifyExtractedColors>;
    getMyProfile(): Promise<import("./types").SpotifyMyProfile>;
    getMyLibrary(config?: Partial<{
        filter: [] | ["Playlists"] | ["Playlists", "By you"] | ["Artists"];
        order: "Recents" | "Recently Added" | "Alphabetical" | "Creator" | "Custom Order";
        textFilter: string;
        limit: number;
    }>): Promise<SpotifyMyLibrary>;
    getMyProductState(): Promise<SpotifyProductState>;
    getMyLikedSongs(limit?: number): Promise<SpotifyLikedSongs>;
    addToLikedSongs(...trackUris: string[]): Promise<SpotifyLikedSongsAdd>;
    removeFromLikedSongs(...trackUris: string[]): Promise<SpotifyLikedSongsRemove>;
    getTrackColorLyrics(id: string, imgUrl?: string): Promise<SpotifyColorLyrics>;
}
export { Parse } from "./parse.js";
export { SpotiflyPlaylist } from "./playlist.js";
export { Musixmatch, SpotiflyMain as Spotifly };
