import Decoder from './decoder'; import BigNumber from '../../node_modules/bignumber.js/bignumber'; export declare enum PacketType { Reserved = 0, CONNECT = 1, CONNACK = 2, SEND = 3, SENDACK = 4, RECV = 5, RECVACK = 6, PING = 7, PONG = 8, DISCONNECT = 9 } export declare class Packet { from(f: Packet): void; private _packetType; remainingLength: number; noPersist: boolean; reddot: boolean; syncOnce: boolean; dup: boolean; set packetType(packetType: PacketType); get packetType(): PacketType; } export declare class ConnectPacket extends Packet { version: number; deviceID: string; deviceFlag: number; clientTimestamp: number; uid: string; token: string; get packetType(): PacketType; } export declare class ConnackPacket extends Packet { timeDiff: BigNumber; reasonCode: number; get packetType(): PacketType; } export declare class DisconnectPacket extends Packet { reasonCode: number; reason: string; get packetType(): PacketType; } export declare class SendPacket extends Packet { clientSeq: number; clientMsgNo: string; channelID: string; channelType: number; fromUID: string; payload: any; get packetType(): PacketType; } export declare class RecvPacket extends Packet { messageID: BigNumber; messageSeq: number; clientMsgNo: string; timestamp: number; channelID: string; channelType: number; fromUID: string; payload: any; get packetType(): PacketType; } export declare class PingPacket extends Packet { get packetType(): PacketType; } export declare class PongPacket extends Packet { get packetType(): PacketType; } export declare class SendackPacket extends Packet { clientSeq: number; messageID: BigNumber; messageSeq: number; reasonCode: number; get packetType(): PacketType; } export declare class RecvackPacket extends Packet { messageID: BigNumber; messageSeq: number; get packetType(): PacketType; } export interface IProto { encode(f: Packet): any; decode(data: Uint8Array): Packet; } export default class Proto implements IProto { packetEncodeMap: any; packetDecodeMap: any; constructor(); encode(f: Packet): Uint8Array; decode(data: Uint8Array): Packet; encodeConnect(packet: ConnectPacket): number[]; encodeSend(packet: SendPacket): number[]; encodeRecvack(packet: RecvackPacket): number[]; decodeConnect(f: Packet, decode: Decoder): ConnackPacket; decodeDisconnect(f: Packet, decode: Decoder): DisconnectPacket; decodeRecvPacket(f: Packet, decode: Decoder): RecvPacket; decodeSendackPacket(f: Packet, decode: Decoder): SendackPacket; encodeFramer(f: Packet, remainingLength: number): any[]; decodeFramer(decode: Decoder): Packet; encodeBool(b: boolean): 1 | 0; encodeVariableLength(len: number): any[]; }