///
import Librespot from './index.js';
import { SpotifyArtist, SpotifyTrack, SpotifyEpisode, SpotifyAlbum, SpotifyUser, SpotifyPlaylist, SpotifyPodcast, SpotifyPlaylistTrack, SpotifyMe, QualityOption } from './utils/types.js';
interface LibrespotStream {
sizeBytes: number;
stream: NodeJS.ReadableStream;
hasLyrics?: boolean;
}
interface LibrespotStreamAndMetadata extends LibrespotStream {
metadata: SpotifyTrack | SpotifyEpisode;
}
export default class LibrespotGet {
#private;
constructor(librespot: Librespot);
artistMetadata(artistId: string): Promise;
artistAlbums(artistId: string, maxPages?: number): Promise;
artist(episodeId: string, maxPages?: number): Promise;
userMetadata(userId: string): Promise;
userPlaylists(userId: string, maxPages?: number): Promise;
user(userId: string, maxPages?: number): Promise;
me(): Promise;
podcastMetadata(showId: string): Promise;
episodeMetadata(episodeId: string): Promise;
trackMetadata(trackId: string): Promise;
trackColorLyrics(trackId: string): Promise;
playlistMetadata(playlistId: string): Promise;
playlistTracks(albumId: string, maxPages?: number): Promise;
playlist(albumId: string, maxPages?: number): Promise;
albumMetadata(albumId: string): Promise;
albumTracks(albumId: string, maxPages?: number): Promise;
album(albumId: string, maxPages?: number): Promise;
trackStream(trackId: string, maxQuality?: QualityOption): Promise;
episodeStream(episodeId: string, maxQuality?: QualityOption): Promise;
track(trackId: string, maxQuality?: QualityOption): Promise;
episode(episodeId: string, maxQuality?: QualityOption): Promise;
byUri(spotifyUri: string, max?: QualityOption | number): Promise;
byUrl(spotifyUrl: string, maxQuality?: QualityOption): Promise;
}
export {};