import { Backend } from "./Backend"; import { Message } from "./Message"; export declare abstract class Socket { #private; get state(): "opened" | "closed"; set onMessage(value: ((message: T) => void) | undefined); set onClose(value: (() => void) | undefined); set onOpen(value: (() => void) | undefined); constructor(backend: Backend, isOpen?: boolean); protected abstract processReceived(data: Message): T; protected abstract processSend(data: T): Message; send(message: T): void; }