import { Duplexify } from 'duplexify';
import { Stream, Duplex } from 'stream'
export = Connection;
type ConnectionCallback = ()=>void
interface ConnectionConstructor {
(duplex?: Duplex, opts?: any | ConnectionCallback, cb?: ConnectionCallback): Connection.Connection;
new(duplex?: Duplex, opts?: any | ConnectionCallback, cb?: ConnectionCallback): Connection.Connection;
}
declare var Connection: ConnectionConstructor;
declare namespace Connection {
interface Connection extends Duplexify {
connect(opts:any, cb?:ConnectionCallback):void;
connack(opts:any, cb?:ConnectionCallback):void;
publish(opts:any, cb?:ConnectionCallback):void;
puback(opts:any, cb?:ConnectionCallback):void;
pubrec(opts:any, cb?:ConnectionCallback):void;
pubrel(opts:any, cb?:ConnectionCallback):void;
pubcomp(opts:any, cb?:ConnectionCallback):void;
subscribe(opts:any, cb?:ConnectionCallback):void;
suback(opts:any, cb?:ConnectionCallback):void;
unsubscribe(opts:any, cb?:ConnectionCallback):void;
unsuback(opts:any, cb?:ConnectionCallback):void;
pingreq(opts:any, cb?:ConnectionCallback):void;
pingresp(opts:any, cb?:ConnectionCallback):void;
disconnect(opts:any, cb?:ConnectionCallback):void;
auth(opts:any, cb?:ConnectionCallback):void;
destroy():void;
setOptions(opts:any):void;
}
}
index.d.ts