import { Subject } from 'rxjs'; import { ConnectorCommand, ConnectorState } from '../../Enum.js'; import type { IConnectorOptions, IListenerInfo, IRawNetPacket } from '../../interface/rpc.js'; import { type ExError } from '../../utility/ExError.js'; import { LifeCycle } from '../../utility/LifeCycle.js'; import type { Scope } from '../context/Scope.js'; import { Codec } from './Codec.js'; import type { Notify } from './packet/Notify.js'; declare abstract class Connector { constructor(options: IConnectorOptions); abstract isAvailable(): boolean; abstract get protocol(): string; waitForReady(ttlMs: number): Promise; protected abstract connect(target: IListenerInfo): Promise; start(target: IListenerInfo, codec: Codec): Promise; abstract selectCodec(code: string): Promise; onCodecSelected(code: string): Promise; protected abstract disconnect(): Promise; off(): Promise; private onError; abstract send(request: IRawNetPacket): Promise; abstract sendRaw(request: object): Promise; sendNotify(notify: Notify, fromId?: string | null): Promise; sendCommand(command: ConnectorCommand, args?: unknown): Promise; protected sendPing(id: number): Promise; protected sendPong(id: number): Promise; protected enablePingPong(): void; protected onPingError(err: ExError): void; protected disablePingPong(): void; protected handleIncomeMessage(data: IRawNetPacket): Promise; protected handleCommand(command: ConnectorCommand, args: unknown): Promise; get state(): ConnectorState; get stateSubject(): import("rxjs").BehaviorSubject; get session(): string | undefined; set session(value: string | undefined); get target(): IListenerInfo | undefined; get dataSubject(): Subject; get scope(): Scope; protected lifeCycle_: LifeCycle; protected target_?: IListenerInfo; protected codec_?: Codec; protected session_: string | undefined; private scope_; private pongWaiter_; private pingSub_; private options_; private subManager_; private dataSubject_; } export { Connector }; //# sourceMappingURL=Connector.d.ts.map