export declare type Merger = (left: T, right: T) => T | [T, T]; /** * The two ended array supports pushing both at the beginning and * at the end while preserving indicies. */ export declare class TwoEndedArray { private _postive; private _negative; addToEnd(elem: T): void; addToBeginning(elem: T): void; mergeAtEnd(value: T, merger: Merger): void; mergeAtBeginning(value: T, merger: Merger): void; removeFromEnd(): void; has(idx: number): boolean; get(idx: number): T; set(idx: number, value: T): void; get lastIdx(): number; get last(): T; get firstIdx(): number; get first(): T; get length(): number; } //# sourceMappingURL=TwoEndedArray.d.ts.map