///
import type { Market, Playlist, MaxInt, Page, Track, SnapshotReference, Image, PlaylistedTrack, QueryAdditionalTypes, TrackItem } from '../types.js';
import EndpointsBase from './EndpointsBase.js';
export default class PlaylistsEndpoints extends EndpointsBase {
getPlaylist(playlist_id: string, market?: Market, fields?: string, additional_types?: AdditionalTypes): Promise>;
getPlaylistItems(playlist_id: string, market?: Market, fields?: string, limit?: MaxInt<50>, offset?: number, additional_types?: AdditionalTypes): Promise>>;
changePlaylistDetails(playlist_id: string, request: ChangePlaylistDetailsRequest): Promise;
movePlaylistItems(playlist_id: string, range_start: number, range_length: number, moveToPosition: number): Promise;
updatePlaylistItems(playlist_id: string, request: UpdatePlaylistItemsRequest): Promise;
addItemsToPlaylist(playlist_id: string, uris?: string[], position?: number): Promise;
removeItemsFromPlaylist(playlist_id: string, request: RemovePlaylistItemsRequest): Promise;
getUsersPlaylists(user_id: string, limit?: MaxInt<50>, offset?: number): Promise>>;
createPlaylist(user_id: string, request: CreatePlaylistRequest): Promise>;
getPlaylistCoverImage(playlist_id: string): Promise;
addCustomPlaylistCoverImage(playlist_id: string, imageData: Buffer | HTMLImageElement | HTMLCanvasElement | string): Promise;
addCustomPlaylistCoverImageFromBase64String(playlist_id: string, base64EncodedJpeg: string): Promise;
}
interface RemovePlaylistItemsRequest {
tracks: Array<{
uri: string;
}>;
snapshot_id?: string;
}
interface UpdatePlaylistItemsRequest {
uris?: string[];
range_start?: number;
insert_before?: number;
range_length?: number;
snapshot_id?: string;
}
interface ChangePlaylistDetailsRequest {
name?: string;
public?: boolean;
collaborative?: boolean;
description?: string;
}
interface CreatePlaylistRequest {
name: string;
public?: boolean;
collaborative?: boolean;
description?: string;
}
export {};