export interface DegreeConfig {
    pageSize: number;
    keySize: number;
    TIDSize: number;
    indexTupleDataSize: number;
    linePointerSize: number;
    addingPaddingSize: number;
    degree: number;
}
export interface RestConfigData {
    depth: number;
    degree: number;
    chunkLength: bigint;
    indexInCurrentDepth: bigint;
    startValue: bigint;
    usedIdCount: bigint;
}
export type ConstructorParams = {
    degreeConfig?: DegreeConfig;
    startValue?: bigint;
    displacementRate?: number;
    restConfigData?: RestConfigData | null;
    DegreeComplications?: number;
    path?: string;
    saveTime?: number;
    hexLength?: number;
    randomLength?: number;
};
export declare class BtuidGenerator {
    private HEX_LENGTH;
    private EXTRALENGTH;
    private saveTime;
    private degreeConfig;
    private overhead;
    private entryOverhead;
    private degree;
    private usedIdCount;
    private depth;
    private startValue;
    private length;
    private chunkLength;
    private indexInCurrentDepth;
    private chunkCount;
    private restConfigData;
    data: {
        depth: number;
        degree: number;
        chunkLength: bigint;
        indexInCurrentDepth: bigint;
        startValue: bigint;
        usedIdCount: bigint;
    };
    constructor({ degreeConfig, startValue, displacementRate, restConfigData, DegreeComplications, path, saveTime, hexLength, randomLength }: ConstructorParams);
    private sumOverhead;
    getExtraBtuid(): string;
    getBtuid(): string;
    private getId;
    private padHex;
    private bigIntToHex;
    private getNextInDepthAndIndex;
    syncSaveObject(path: string, obj: RestConfigData): void;
    saveObject(path: string, obj: RestConfigData): void;
    readObject(path: string): any;
}
