import { ICircularList } from 'common/Types'; import { Disposable } from 'vs/base/common/lifecycle'; import { Emitter } from 'vs/base/common/event'; export interface IInsertEvent { index: number; amount: number; } export interface IDeleteEvent { index: number; amount: number; } export declare class CircularList extends Disposable implements ICircularList { private _maxLength; protected _array: (T | undefined)[]; private _startIndex; private _length; readonly onDeleteEmitter: Emitter; readonly onDelete: import("vs/base/common/event").Event; readonly onInsertEmitter: Emitter; readonly onInsert: import("vs/base/common/event").Event; readonly onTrimEmitter: Emitter; readonly onTrim: import("vs/base/common/event").Event; constructor(_maxLength: number); get maxLength(): number; set maxLength(newMaxLength: number); get length(): number; set length(newLength: number); get(index: number): T | undefined; set(index: number, value: T | undefined): void; push(value: T): void; recycle(): T; get isFull(): boolean; pop(): T | undefined; splice(start: number, deleteCount: number, ...items: T[]): void; trimStart(count: number): void; shiftElements(start: number, count: number, offset: number): void; private _getCyclicIndex; } //# sourceMappingURL=CircularList.d.ts.map