import { Disposable } from "@theia/core";
export declare type FixedLiengthBufferRemoveListener<ItemType> = (item: ItemType) => void;
export declare class FixedLengthBuffer<ItemType> implements Disposable {
    protected readonly maxLength: any;
    protected nextKey: number;
    protected firstKey: number;
    protected currentLength: number;
    protected buffer: Record<number, ItemType>;
    protected removeListeners: Set<FixedLiengthBufferRemoveListener<ItemType>>;
    constructor(maxLength: any);
    get length(): number;
    push(...items: ItemType[]): void;
    onRemove(listener: FixedLiengthBufferRemoveListener<ItemType>): void;
    dispose(): void;
    protected pushOne(item: ItemType): void;
}
//# sourceMappingURL=fixed-length-buffer.d.ts.map