import BaseAPIWithImageSupport, { type BaseAPIWithImageSupportParams } from '../common/BaseAPIWithImageSupport.js'; import type { ImageFormat } from '../types/Image.js'; import type { Playlist, PlaylistList, PlaylistListContinuation } from '../types/Playlist.js'; import type Limiter from '../utils/Limiter.js'; export type PlaylistAPIListParams = { fanId: number; continuation?: never; imageFormat?: string | number | ImageFormat; } | { fanId?: never; continuation: PlaylistListContinuation; imageFormat?: string | number | ImageFormat; }; export interface PlaylistAPIGetPlaylistParams { playlistUrl: string; artistImageFormat?: string | number | ImageFormat; trackImageFormat?: string | number | ImageFormat; playlistImageFormat?: string | number | ImageFormat; curatorImageFormat?: string | number | ImageFormat; } export type PlaylistAPIGetAdditionalTracksParams = ({ start: number; fromId?: never; } | { start?: never; fromId: number; } | { start?: never; fromId?: never; }) & { playlist: Playlist; count?: number; artistImageFormat?: string | number | ImageFormat; trackImageFormat?: string | number | ImageFormat; }; export default class PlaylistAPI extends BaseAPIWithImageSupport { getPlaylist(params: PlaylistAPIGetPlaylistParams): Promise; getAdditionalTracks(params: PlaylistAPIGetAdditionalTracksParams): Promise; list(params: PlaylistAPIListParams): Promise; } export declare class LimiterPlaylistAPI extends PlaylistAPI { #private; constructor(params: BaseAPIWithImageSupportParams & { limiter: Limiter; }); getPlaylist(params: PlaylistAPIGetPlaylistParams): Promise; getAdditionalTracks(params: PlaylistAPIGetAdditionalTracksParams): Promise; list(params: PlaylistAPIListParams): Promise; } //# sourceMappingURL=PlaylistAPI.d.ts.map