import { IRCConnectionEvents } from './types/events'; import { IIRCConnectorConstructor, IIRCWrapper } from './types/impl.interface'; import { IIRCOptions, IIRCServerData, IQueue } from './types/irc.interfaces'; import { TypedEventEmitter } from './utility/typed-event-emitter'; import { WhoResponse } from './utility/who-parser'; import { WhoisResponse } from './utility/whois-parser'; export declare class IRCConnection extends TypedEventEmitter implements IIRCWrapper { options: IIRCOptions; connector: IIRCConnectorConstructor; channels: string[]; queue: IQueue[]; authenticated: boolean; serverData: IIRCServerData; private connection?; private _supportsDone; private _lastLineWasSupports; constructor(options: IIRCOptions, connector: IIRCConnectorConstructor); write(format: string, ...args: any[]): void; private handlers; private authenticate; private joinMissingChannels; private pumpQueue; private handleServerLine; connect(): Promise; disconnect(reason?: string): Promise; get connected(): boolean; setNick(newNick: string): void; getPing(): Promise; whois(nick: string): Promise; who(target: string): Promise; names(channel: string): Promise; list(): Promise; useCollector(collector: IQueue, line: string, ...args: any[]): void; }