import { Logger } from '@nestjs/common/services/logger.service'; import { EventEmitter } from 'stream'; import { NatsEvents, NatsStatus } from '../events/nats.events'; import { NatsOptions, PacketId, ReadPacket, WritePacket } from '../interfaces'; import { ClientProxy } from './client-proxy'; type Client = Record; type NatsMsg = Record; /** * @publicApi */ export declare class ClientNats extends ClientProxy { protected readonly options: Required['options']; protected readonly logger: Logger; protected natsClient: Client | null; protected connectionPromise: Promise | null; protected statusEventEmitter: EventEmitter<{ disconnect: [data?: string | number | undefined]; reconnect: [data?: string | number | undefined]; update: [data?: string | number | import("../events/nats.events").ServersChangedEvent | undefined]; }>; constructor(options: Required['options']); close(): Promise; connect(): Promise; createClient(): Promise; handleStatusUpdates(client: Client): Promise; on(event: EventKey, callback: EventCallback): void; unwrap(): T; createSubscriptionHandler(packet: ReadPacket & PacketId, callback: (packet: WritePacket) => any): (error: string | Error | undefined, natsMsg: NatsMsg) => Promise; protected publish(partialPacket: ReadPacket, callback: (packet: WritePacket) => any): () => void; protected dispatchEvent(packet: ReadPacket): Promise; protected initializeSerializer(options: NatsOptions['options']): void; protected initializeDeserializer(options: NatsOptions['options']): void; protected mergeHeaders(requestHeaders?: THeaders): any; } export {};