export interface IIRCUser { nickname: string; username: string; hostname: string; } export interface IIRCLine { user: IIRCUser; command: string; arguments?: string[]; trailing?: string; raw: string; } export interface IUserLine { command: string; arguments?: string[]; message: string; } export interface IQueue { untracked?: boolean; await: string; additional?: string[]; from?: string; buffer?: T; do(line: IIRCLine, data?: T): void; digest?(line: IIRCLine): void; } export interface INickServOptions { enabled: boolean; command: string; nickservBot?: string; responseCommand?: string; } export interface IIRCOptions { nick: string; host: string; username?: string; hostname?: string; realname?: string; port?: number; password?: string | null; sasl?: boolean; ssl?: boolean; channels?: string[]; nickserv?: INickServOptions; } export interface INickStore { checked: number; result: boolean; }