@peacockproject/core
Version:
Type definitions for Peacock's core.
51 lines (50 loc) • 1.38 kB
TypeScript
import EventEmitter from "events";
export interface PresenceButton {
label: string;
url: string;
}
export interface Presence {
state?: string;
details?: string;
startTimestamp?: number | Date;
endTimestamp?: number | Date;
largeImageKey?: string;
largeImageText?: string;
smallImageKey?: string;
smallImageText?: string;
instance?: boolean;
buttons?: PresenceButton[];
timestamps?: {
start?: number;
end?: number;
};
assets?: {
large_image?: string;
large_text?: string;
small_image?: string;
small_text?: string;
};
}
export interface ClientOptions {
clientId: string;
}
export declare class RPCClient extends EventEmitter {
clientId?: string | undefined;
user?: unknown | undefined;
private transport;
private _expecting;
private _subscriptions;
private _connectPromise;
constructor();
connect(clientId: string): Promise<unknown>;
login(options: ClientOptions): Promise<this>;
request(cmd: string, args: {
pid: number;
activity?: Presence;
instance?: boolean;
}, evt?: undefined): Promise<unknown>;
_onRpcMessage(message: any): void;
setActivity(args?: Presence, pid?: number): Promise<unknown>;
clearActivity(pid?: number): Promise<Awaited<unknown>>;
destroy(): Promise<void>;
}