UNPKG

lavaclient

Version:

A simple, easy-to-use, and flexible lavalink client for node.js

44 lines 2.04 kB
import type { Client, ClientDebugEvent, ClientEvents } from "../client.js"; import * as Protocol from "lavalink-protocol"; import * as API from "lavalink-api-client"; import * as WS from "lavalink-ws-client"; import { TypedEmitter } from "tiny-typed-emitter"; import type { PlayerManager } from "../players.js"; import type { NodeDiscordOptions } from "../node.js"; import { LoadBalancer, LoadBalancerFactory } from "./balancer.js"; import { ClusterNode, ClusterNodeOptions } from "./node.js"; import { ClusterPlayerManagerOptions } from "./players.js"; export declare class Cluster extends TypedEmitter<ClusterEvents> implements Client { readonly options: ClusterOptions; readonly nodes: Map<string, ClusterNode>; readonly balancer: LoadBalancer; readonly players: PlayerManager; userId: string | undefined; private connectedAt; private readyAt; constructor(options: ClusterOptions); get ready(): boolean; get rest(): API.LavalinkHttpClient; get api(): API.LavalinkAPI; get uptime(): number; connect(options?: WS.LavalinkWSClientConnectOptions): void; disconnect(): void; private debug; } export interface ClusterEvents extends ClientEvents { nodeDebug: (node: ClusterNode, event: ClientDebugEvent) => void; nodeError: (node: ClusterNode, error: Error) => void; nodeMessage: (node: ClusterNode, message: Protocol.Message) => void; nodeConnected: (node: ClusterNode, event: WS.LavalinkWSClientConnectedEvent) => void; nodeDisconnected: (node: ClusterNode, event: WS.LavalinkWSClientDisconnectedEvent) => void; nodeReconnecting: (node: ClusterNode) => void; nodeReady: (node: ClusterNode, event: WS.LavalinkWSClientReadyEvent) => void; nodeRequest: (node: ClusterNode, event: API.LavalinkHttpClientRequestEvent) => void; } export interface ClusterOptions { nodes: ClusterNodeOptions[]; discord: NodeDiscordOptions; players?: ClusterPlayerManagerOptions; loadBalancer?: LoadBalancerFactory; } //# sourceMappingURL=client.d.ts.map