UNPKG

@pubby/sdk

Version:
38 lines (37 loc) 1.38 kB
import { Pubby } from "../../client"; import { PubbyStream } from "../../lib/streams"; import { Playback } from "../../models/playback"; import { User } from "../../models/user"; import { PubbyModule } from "../../module"; import { MediaActionsUpdateResponse } from "../../websocket/incoming"; declare module "../../client" { interface Pubby { playback: PlaybackModule; } } export declare class PlaybackModule extends PubbyModule { state: Playback; state$: PubbyStream<any>; actions$: PubbyStream<MediaActionsUpdateResponse>; actions: { likes: Set<string>; dislikes: Set<string>; adds: Set<string>; }; get dj(): any; get duration(): number; get currentTime(): number; get progress(): number; constructor(client: Pubby); init(): void; skip(): void; add(playlistId: string): void; like(): void; dislike(): void; isDj(userId: string): boolean; on(event: "load", ...listeners: ((state: any) => void)[]): this; on(event: "dj-update", ...listeners: ((user: User) => void)[]): this; on(event: "update", ...listeners: ((state: Playback) => void)[]): this; on(event: "media-update", ...listeners: ((media: any) => void)[]): this; on(event: "actions-update", ...listeners: ((state: PlaybackModule["actions"]) => void)[]): this; }