import { SinglePacket } from '../generated/models';
export declare type PaddingGeneratorFct = (length: number) => Uint8Array;
export declare const ZEROS_PADDING_GENERATOR: (length: number) => Uint8Array;
export declare class SinglePacketBuilder {
    paddingGenerator: PaddingGeneratorFct;
    static MAX_FULL_SIZE: number;
    static MAX_PART_SIZE: number;
    static PACKET_PAYLOAD_HEADER_SIZE: number;
    static PACKET_OUTER_HEADER_SIZE: number;
    static PACKET_HEADER_SIZE: number;
    static PACKET_HEADER_SIZE_WITH_SEND_TIME: number;
    static MAX_DATA_SIZE: number;
    private model;
    private constructor();
    static getTimestampInSeconds(): number;
    static getLengthMultiplicator(packet: SinglePacket): number;
    static create(data: Uint8Array, type: SinglePacket.PacketType, paddingGenertor?: PaddingGeneratorFct): SinglePacketBuilder;
    setLogTime(logTime: number): this;
    /**
     *
     * @param id
     */
    setPacketId(id: number): this;
    setSalt(salt: number): this;
    setExtended(value: boolean): this;
    /**
     *
     * @param id
     */
    setEncryption(enabled: boolean): this;
    /**
     *
     * @param id
     */
    setSenderId(id: number): this;
    /**
     *
     * @param id
     */
    setSendTime(time: number): this;
    /**
     *
     * @param id
     */
    setConfigVersion(configVersion: number): this;
    setData(data: Uint8Array): this;
    getLengthMultiplicator(): number;
    build(): SinglePacket;
}
