///
import { EventEmitter } from 'events';
import { z } from 'zod';
import { KurentoCreateParams, KurentoInvokeParams, KurentoMethod, KurentoReleaseParams, KurentoSubscribeParams, KurentoUnsubscribeParams } from './types/kurento-params';
export default class Rpc extends EventEmitter {
private sessionId;
private logger;
private static instance;
private ws;
private rpc;
private constructor();
static getInstance(kmsUri?: string): Rpc;
setSessionid(sessionId: string): void;
kurentoRequest(method: KurentoMethod, params: KurentoCreateParams | KurentoInvokeParams | KurentoReleaseParams | KurentoSubscribeParams | KurentoUnsubscribeParams | {}, responseSchema: z.Schema): Promise;
connect(): Promise;
close(): void;
private waitForOpenSocket;
}