///
import { LoggerStub } from "./LoggerStub";
import { Event, Message, AuthenticatePayload } from "./Messages";
export interface Credentials extends AuthenticatePayload {
}
export declare class Client {
readonly uri: string;
private readonly credentials;
private readonly logger;
readonly socket: SocketIOClient.Socket;
private readonly events;
constructor(uri: string, credentials: Credentials, logger?: LoggerStub);
connect(): void;
handleEvent>(eventType: TEventType, fn: (payload: TPayload) => Promise | any): void;
sendMessage>(message: TMessage): void;
sendRequest>(requestMessage: TMessage): Promise;
private sendAuthentication();
}