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;
}
