import { SinglePacketChunk } from '../generated/models';
export declare namespace SinglePacketSplitter {
    interface Options {
        /**
         * True to add padding if data size is not a multiple of sizeMultiplicator
         * If false and if it's not a multiple, it will throw an error
         */
        pad?: boolean;
        /**
         * size (in bytes) of one chunk
         */
        chunkSize: number;
        /**
         * Multiplicator to compute real size (in bytes). Real size in bytes = field size as uint * sizeMultiplicator
         */
        sizeMultiplicator: number;
        /**
         *
         */
        format: SinglePacketChunk.Format;
    }
}
/**
 * Utility class to split a big single packet data into {@link SinglePacketChunk}
 */
export declare class SinglePacketSplitter {
    options: SinglePacketSplitter.Options;
    static SIZE_MULTIPLICATOR: number;
    /**
     * @throws {@link #chunkSize} < {@link #unitBlockSize}
     */
    constructor(options?: Partial<SinglePacketSplitter.Options>);
    get sizeMultiplicator(): number;
    private checkOptions;
    /**
     * @return an array of single packet parts
     */
    chunk(data: Uint8Array): SinglePacketChunk[];
}
