import { SinglePacket } from "../../client/api/single-packet";
import { SinglePacket as SinglePacketModel } from "../model";
import { AesEcb128Converter } from "../../core/crypto/aes-ecb-128-converter";
declare module '../../client/impl/frame/tap-stream-core' {
    interface TapStreamReader {
        readSinglePacketPayloadFullData(): SinglePacketModel.Payload;
    }
}
export declare class DefaultSinglePacketKeyGenerator implements SinglePacket.KeyGenerator {
    /**
     * HMsg = UserName | IoTizeSN | PacketHeader1
     */
    generate(options: SinglePacket.KeyGenerator.Options): Uint8Array;
}
export declare class EncryptedSinglePacketConverter {
    options: {
        hashKey: Uint8Array;
        username: string;
        serialNumber: string;
    };
    encryptionAlgo: AesEcb128Converter;
    keyGenerator: SinglePacket.KeyGenerator;
    constructor(options: {
        hashKey: Uint8Array;
        username: string;
        serialNumber: string;
    }, encryptionAlgo?: AesEcb128Converter, keyGenerator?: SinglePacket.KeyGenerator);
    encode(packet: SinglePacketModel): Uint8Array;
    decode(packetData: Uint8Array): SinglePacketModel;
    _getEncryptionAlgo(header: SinglePacketModel.OuterHeader | Uint8Array): AesEcb128Converter;
    private computeKey;
}
