import { Agent, Transport, TransportConfig } from '../'; import StreamManagement from '../helpers/StreamManagement'; import { Duplex } from '../platform'; import { Stream } from '../protocol'; import { JSONData, Registry } from '../jxt'; export default class BOSH extends Duplex implements Transport { hasStream?: boolean; stream?: Stream; authenticated?: boolean; url: string; rid?: number; sid?: string; maxHoldOpen: number; maxWaitTime: number; contentType: string; private channels; private activeChannelID; private client; private config; private sm; private stanzas; private idleTimeout; private queue; private isEnded; constructor(client: Agent, sm: StreamManagement, stanzas: Registry); _write(chunk: string, encoding: string, done: (err?: Error) => void): void; _writev(chunks: Array<{ chunk: string; encoding: string; }>, done: (err?: Error) => void): void; _read(): void; process(result: string): void; connect(opts: TransportConfig): void; restart(): void; disconnect(clean?: boolean): void; send(dataOrName: string, data?: JSONData): Promise; private get sendingChannel(); private get pollingChannel(); private toggleChannel; private _send; private _poll; private scheduleRequests; private fireRequests; }