UNPKG

@remcostoeten/fync

Version:

A unified TypeScript library for easy access to popular APIs (GitHub, Spotify, GitLab, etc.)

121 lines 5.01 kB
export * from "./spotify-common"; export * from "./spotify-player"; export * from "./spotify-playlist"; export * from "./spotify-recent"; export * from "./spotify-search"; export * from "./spotify-track"; export * from "./spotify-user"; export type TSpotifyRequestOptions = { params?: Record<string, string | number | boolean>; headers?: Record<string, string>; cache?: boolean; cacheTTL?: number; }; export type TSpotifyClient = { auth: { getAuthorizationUrl(scopes: string[], state?: string): string; exchangeCodeForToken(code: string, state?: string): Promise<import("./spotify-common").TSpotifyTokenResponse>; refreshAccessToken(refreshToken: string): Promise<import("./spotify-common").TSpotifyTokenResponse>; }; me: { get(): Promise<import("./spotify-user").TSpotifyUser>; playlists: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-playlist").TSpotifyPlaylist>>; }; tracks: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-track").TSpotifyTrack>>; }; albums: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-track").TSpotifyAlbum>>; }; artists: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-track").TSpotifyArtist>>; }; player: { get(): Promise<import("./spotify-player").TSpotifyPlaybackState>; devices: { get(): Promise<{ devices: import("./spotify-player").TSpotifyPlayerDevice[]; }>; }; play(options?: { device_id?: string; uris?: string[]; }): Promise<void>; pause(options?: { device_id?: string; }): Promise<void>; next(options?: { device_id?: string; }): Promise<void>; previous(options?: { device_id?: string; }): Promise<void>; seek(position_ms: number, options?: { device_id?: string; }): Promise<void>; volume(volume_percent: number, options?: { device_id?: string; }): Promise<void>; repeat(state: "track" | "context" | "off", options?: { device_id?: string; }): Promise<void>; shuffle(state: boolean, options?: { device_id?: string; }): Promise<void>; }; }; search: { get(query: string, types: readonly ("track" | "artist" | "album" | "playlist")[], options?: TSpotifyRequestOptions): Promise<import("./spotify-search").TSpotifySearchResult>; }; playlist(playlistId: string): { get(): Promise<import("./spotify-playlist").TSpotifyPlaylist>; tracks: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-playlist").TSpotifyPlaylistTrack>>; add(uris: string[], position?: number): Promise<{ snapshot_id: string; }>; remove(uris: string[]): Promise<{ snapshot_id: string; }>; }; }; user(userId: string): { get(): Promise<import("./spotify-user").TSpotifyUser>; playlists: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-playlist").TSpotifyPlaylist>>; }; }; album(albumId: string): { get(): Promise<import("./spotify-track").TSpotifyAlbum>; tracks: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-track").TSpotifyTrack>>; }; }; artist(artistId: string): { get(): Promise<import("./spotify-track").TSpotifyArtist>; albums: { get(options?: TSpotifyRequestOptions): Promise<import("./spotify-common").TSpotifyPagingObject<import("./spotify-track").TSpotifyAlbum>>; }; tracks: { top(options?: TSpotifyRequestOptions): Promise<{ tracks: import("./spotify-track").TSpotifyTrack[]; }>; }; related: { get(): Promise<{ artists: import("./spotify-track").TSpotifyArtist[]; }>; }; }; track(trackId: string): { get(): Promise<import("./spotify-track").TSpotifyTrack>; features: { get(): Promise<import("./spotify-track").TSpotifyAudioFeatures>; }; analysis: { get(): Promise<import("./spotify-track").TSpotifyAudioAnalysis>; }; }; }; //# sourceMappingURL=index.d.ts.map