/// import { EventEmitter } from 'events'; import { AuthInfo, ClientInfo, Module, ServerInfo, Sink, SinkInput, Source, SourceOutput, SubscribeInfo, VolumeInfo } from './types/pulseaudio'; export interface TCPSocket { type: 'tcp'; port: number; host: string; } export interface UnixSocket { type: 'unix'; path: string; } export default class PulseAudio extends EventEmitter { address: TCPSocket | UnixSocket; cookie: Buffer; connected: boolean; protocol: number; private socket; private chunks; private requests; private lastRequestId; constructor(address: string, cookie?: string); connect(): Promise; disconnect(): void; setClientName(clientName?: string): Promise; private authenticate; subscribe(): Promise; getServerInfo(): Promise; getSink(sink: number | string): Promise; getSinkList(): Promise; setSinkVolume(sink: number | string, volume: number): Promise; getSinkInputList(): Promise; getSinkInput(sinkInput: number | string): Promise; moveSinkInput(sinkInput: number, sink: number): Promise; getSource(source: number | string): Promise; getSourceList(): Promise; setSourceVolume(source: number | string, volume: number): Promise; getSourceOutput(sourceOutput: number | string): Promise; getSourceOutputList(): Promise; moveSourceOutput(sourceOutput: number, source: number): Promise; getModule(module: number): Promise; getModuleList(): Promise; loadModule(name: string, argument: string): Promise; unloadModule(module: number): Promise; private onReadable; private requestId; private sendRequest; private resolveRequest; private rejectRequest; private parseReply; private parseEvent; private parseAddress; private parseCookie; }