/// /// /// import * as dns from 'dns'; import { Logger, LoggerOptions } from '../logger'; import { TypedEventEmitter } from '../mongo_types'; /** * @internal * @category Event */ export declare class SrvPollingEvent { srvRecords: dns.SrvRecord[]; constructor(srvRecords: dns.SrvRecord[]); hostnames(): Set; } /** @internal */ export interface SrvPollerOptions extends LoggerOptions { srvServiceName: string; srvMaxHosts: number; srvHost: string; heartbeatFrequencyMS: number; } /** @internal */ export declare type SrvPollerEvents = { srvRecordDiscovery(event: SrvPollingEvent): void; }; /** @internal */ export declare class SrvPoller extends TypedEventEmitter { srvHost: string; rescanSrvIntervalMS: number; heartbeatFrequencyMS: number; logger: Logger; haMode: boolean; generation: number; srvMaxHosts: number; srvServiceName: string; _timeout?: NodeJS.Timeout; /** @event */ static readonly SRV_RECORD_DISCOVERY: "srvRecordDiscovery"; constructor(options: SrvPollerOptions); get srvAddress(): string; get intervalMS(): number; start(): void; stop(): void; schedule(): void; success(srvRecords: dns.SrvRecord[]): void; failure(message: string, obj?: NodeJS.ErrnoException): void; parentDomainMismatch(srvRecord: dns.SrvRecord): void; _poll(): void; } //# sourceMappingURL=srv_polling.d.ts.map