/**
 * Represents a circular buffer data structure.
 * @template T The type of elements in the circular buffer.
 */
export declare class CircularBuffer<T> {
    private buffer;
    private head;
    private tail;
    private size;
    private capacity;
    /**
     * Creates a circular buffer with a specified capacity.
     * @param {number} capacity - The maximum number of items the buffer can hold.
     */
    constructor(capacity: number);
    /**
     * Adds an item to the buffer.
     * @param {T} item - The item to add.
     */
    add(item: T): void;
    /**
     * Removes and returns the oldest item from the buffer.
     * @returns {T | undefined} The oldest item, or undefined if the buffer is empty.
     */
    remove(): T | undefined;
    /**
     * Returns the current size of the buffer.
     * @returns {number} The number of items in the buffer.
     */
    getSize(): number;
    /**
     * Checks if the buffer is empty.
     * @returns {boolean} True if the buffer is empty, false otherwise.
     */
    isEmpty(): boolean;
}
