import { Collection } from "@tsplus/stdlib/collections/Collection/definition";
import { Equals } from "@tsplus/stdlib/structure/Equals";
import { List } from "@tsplus/stdlib/collections/List/definition";
import { Hash } from "@tsplus/stdlib/structure/Hash";
import { NoSuchElement, IndexOutOfBounds } from "@tsplus/stdlib/exceptions";
/**
* @tsplus type ListBuffer
* @tsplus companion ListBuffer.Ops
*/
export declare class ListBuffer implements Collection, Equals {
private first;
private last0;
private len;
[Symbol.iterator](): Iterator;
[Hash.sym](): number;
[Equals.sym](that: unknown): boolean;
static empty(): ListBuffer;
static from(as: Collection): ListBuffer;
get length(): number;
get isEmpty(): boolean;
get unsafeHead(): A | undefined;
get unsafeTail(): List | undefined;
append(this: this, elem: A): this;
prepend(this: this, elem: A): this;
unprepend(this: this): A;
get toList(): List;
insert(this: this, idx: number, elem: A): this;
reduce(this: this, b: B, f: (b: B, a: A) => B): B;
private getNext;
private locate;
}
/**
* @tsplus getter ListBuffer toCollection
* @tsplus location "@tsplus/stdlib/collections/mutable/ListBuffer"
*/
export declare function toCollection(self: ListBuffer): Collection;
//# sourceMappingURL=ListBuffer.d.ts.map