export declare class RingBuffer<T> {
    private buffer;
    private size;
    private start;
    private end;
    private count;
    constructor(size: number);
    private resize;
    push(item: T): void;
    pop(): T | null;
    unshift(item: T): void;
    shift(): T | null;
    forEach(callback: (item: T, index: number) => void): void;
    map<U>(callback: (item: T, index: number) => U): U[];
    reduce<U>(callback: (accumulator: U, item: T, index: number) => U, initialValue: U): U;
    at(index: number): T | null;
    find(predicate: (value: T, index: number) => boolean): T | undefined;
    findIndex(predicate: (value: T, index: number) => boolean): number;
    some(predicate: (value: T, index: number) => boolean): boolean;
    every(predicate: (value: T, index: number) => boolean): boolean;
    get length(): number;
}
