/// import { EventEmitter } from 'events'; import ClusterNode, { ClusterNodeOptions } from '../ClusterNode'; import Player from '../core/Player'; import { VoiceStateUpdate, VoiceServerUpdate } from './Node'; export default abstract class BaseCluster extends EventEmitter { abstract send: (guildID: string, packet: any) => any; abstract filter: (node: ClusterNode, guildID: string) => boolean; readonly nodes: ClusterNode[]; constructor(options?: ClusterNodeOptions[]); spawn(options: ClusterNodeOptions): ClusterNode; spawn(options: ClusterNodeOptions[]): ClusterNode[]; sort(): ClusterNode[]; getNode(guildID: string): ClusterNode; has(guildID: string): boolean; get(guildID: string): Player; voiceStateUpdate(state: VoiceStateUpdate): Promise; voiceServerUpdate(server: VoiceServerUpdate): Promise; }