import Spotify from "../Spotify"; import { BrowseAllCategoriesResponse, BrowseCategoryResponse, BrowseFeaturedPlaylistsResponse, BrowseNewReleasesResponse, BrowseRecommendationsResponse } from "../typings/res/browse"; import { SearchLimit, SearchMarket } from "../typings/search"; import { CountryCode, Locale, OneToOneHundred } from "../typings/utils"; export default class Browser { private static readonly baseURL; private client; constructor(client: Spotify); newReleases(options?: { country?: CountryCode; limit?: SearchLimit; offset?: number; }): Promise; featuredPlaylists(options?: { country?: CountryCode; locale?: Locale; timestamp?: string; limit: SearchLimit; offset?: number; }): Promise; allCategories(options?: { country?: CountryCode; locale?: Locale; limit: SearchLimit; offset?: number; }): Promise; category(category: string, options?: { country?: CountryCode; locale?: Locale; }): Promise; categoryPlaylists(category: string, options?: { country?: CountryCode; limit: SearchLimit; offset?: number; }): Promise | undefined>; recommendations(seeds: { artists?: string[]; genres?: string[]; tracks?: string[]; }, options?: { limit?: OneToOneHundred; market?: SearchMarket; minAcousticness?: number; maxAcousticness?: number; targetAcousticness?: number; minDanceability?: number; maxDanceability?: number; targetDanceability?: number; minDuration?: number; maxDuration?: number; targetDuration?: number; minEnergy?: number; maxEnergy?: number; targetEnergy?: number; minInstrumentalness?: number; maxInstrumentalness?: number; targetInstrumentalness?: number; minKey?: number; maxKey?: number; targetKey?: number; minLiveness?: number; maxLiveness?: number; targetLiveness?: number; minLoudness?: number; maxLoudness?: number; targetLoudness?: number; minMode?: number; maxMode?: number; targetMode?: number; minPopularity?: number; maxPopularity?: number; targetPopularity?: number; minSpeechiness?: number; maxSpeechiness?: number; targetSpeechiness?: number; minTempo?: number; maxTempo?: number; targetTempo?: number; minTimeSignature?: number; maxTimeSignature?: number; targetTimeSignature?: number; minValence?: number; maxValence?: number; targetValence?: number; }): Promise; recommendationGenres(): Promise; }