import { CodeError } from '@iotize/common/error';
import { SinglePacketChunk } from '../generated/models';
export interface SinglePacketKeyGenerator {
    generate(options: SinglePacketKeyGenerator.Options): Uint8Array;
}
export declare namespace SinglePacketKeyGenerator {
    interface Options {
        headerBytes: Uint8Array;
        serialNumber: string;
        username: string;
        hashKey: Uint8Array;
    }
}
export declare class SinglePacketError extends CodeError<SinglePacketError.Code> {
    constructor(code: SinglePacketError.Code, msg: string);
    static authSessionRequiredToEncryptSinglePacket(): SinglePacketError;
    static credentialsRequiredForEncryptedSinglePacket(): SinglePacketError;
    static internalError(msg: string): SinglePacketError;
    static maxSinglePacketPartSizeExceeded(packet: SinglePacketChunk, max: number): SinglePacketError;
    static maxSinglePacketSizeExceeded(length: number, max: number): SinglePacketError;
}
export declare namespace SinglePacketError {
    enum Code {
        SinglePacketInternalError = "SinglePacketErrorInternalError",
        AuthSessionRequiredToEncryptSinglePacket = "SinglePacketErrorAuthSessionRequiredToEncryptSinglePacket",
        MaxSinglePacketPartSizeExceeded = "SinglePacketErrorMaxSinglePacketPartSizeExceeded",
        MaxSinglePacketSizeExceeded = "SinglePacketErrorMaxSinglePacketSizeExceeded",
        CredentialsRequiredForEncryptedSinglePacket = "SinglePacketErrorCredentialsRequiredForEncryptedSinglePacket"
    }
}
