@pubby/sdk
Version:
Pubby Development Kit
28 lines (27 loc) • 1.06 kB
TypeScript
import { Pubby } from "../../client";
import { PubbyStream } from "../../lib/streams";
import { User } from "../../models/user";
import { PubbyModule } from "../../module";
import { QueueAddResponse, QueueUpdateResponse } from "../../websocket/incoming";
declare module "../../client" {
interface Pubby {
queue: QueueModule;
}
}
export declare class QueueModule extends PubbyModule {
state: Set<string>;
update$: PubbyStream<QueueUpdateResponse>;
add$: PubbyStream<QueueAddResponse>;
get usersId(): string[];
get users(): any[];
get next(): any;
constructor(client: Pubby);
init(): void;
join(userId?: string): Promise<unknown>;
leave(userId?: string): Promise<unknown>;
move(userId: string, position: number): void;
has(userId: string): boolean;
on(event: "update", ...listeners: ((queue: User[]) => void)[]): this;
on(event: "user-join", ...listeners: ((user: User) => void)[]): this;
on(event: "user-leave", ...listeners: ((user: User) => void)[]): this;
}