export interface BufferItem {
    get id(): number;
    destroy(): void;
}
export declare class Buffer<T extends BufferItem> implements Iterable<T> {
    private buf;
    private size;
    constructor(size: number);
    reset(): void;
    push(view: T): void;
    resize(newSize: number, idsToKeep?: Set<number> | undefined): void;
    has(view: T): boolean;
    [Symbol.iterator](): SetIterator<T>;
    private destroyFirstView;
}
