import { Request, RequestInit, Response } from 'undici'; import LibrespotBrowse from './browse.js'; import LibrespotGet from './get.js'; import LibrespotPlayer from './player.js'; import { QualityOption } from './utils/types.js'; import Login5Client, { Login5Credentials } from './login5.js'; import PlayPlayClient, { Unplayplay } from './playplay.js'; declare class LibrespotToken { accessToken: string; expiresIn: number; createdAt: number; constructor(token: { accessToken: string; accessTokenExpiresIn: number; }); isExpired(): boolean; } export interface LibrespotOptions { clientId?: string; deviceId?: string; unplayplay?: Unplayplay; } export default class Librespot { options: LibrespotOptions; login5?: Login5Client; playplay: PlayPlayClient; credentials?: Login5Credentials; token?: LibrespotToken; deviceId: string; spclient?: string; maxQuality: QualityOption; premium?: boolean; constructor(options: LibrespotOptions); login(username: string, password: string): Promise; loginWithStoredCreds(username: string, storedCredential: string): Promise; setupSession(credentials: Login5Credentials): Promise; getStoredCredentials(): { username: string; storedCredential: string; }; relogin(): Promise; isPremium(): Promise; getToken(): Promise; fetchWithAuth(resource: Request | string, init?: RequestInit): Promise; loopNext(url: string, maxPages?: number): Promise; browse: LibrespotBrowse; get: LibrespotGet; player: LibrespotPlayer; } export {};