import { SnowflakifyOptions } from '../@types';
export default class CircularBuffer {
    private readonly bufferSize;
    private readonly indexBitMask;
    private readonly thresholdIndex;
    private readonly tailTA;
    private readonly headTA;
    private readonly bufferTA;
    private readonly bufferRefiller;
    private readonly semaphoreTA;
    constructor(bufferSize: number, generatorOptions: SnowflakifyOptions, refillTheshold?: number, workerCount?: number);
    get size(): number;
    get tail(): number;
    private set tail(value);
    get head(): number;
    private set head(value);
    get buffer(): BigInt64Array;
    push(value: bigint): void;
    pop(): bigint;
    isFull(): boolean;
    isEmpty(): boolean;
    private incrementTail;
    private incrementHead;
    private static distance;
    private nextIndex;
    private acquire;
    private release;
}
