import type { Maybe, NumericArray } from "@thi.ng/api";
import type { StridedVec, Vec } from "@thi.ng/vectors";
import type { VecFactory } from "./api.js";
export declare abstract class AVecList<T extends StridedVec> {
    buffer: NumericArray;
    factory: VecFactory;
    start: number;
    capacity: number;
    curr: number;
    size: number;
    estride: number;
    cstride: number;
    freeIDs: number[];
    /**
     *
     * @param buffer -
     * @param capacity -
     * @param size -
     * @param start -
     * @param cstride -
     * @param estride -
     * @param factory -
     */
    constructor(buffer: NumericArray, capacity: number, size: number, start?: number, cstride?: number, estride?: number, factory?: VecFactory);
    abstract [Symbol.iterator](): IterableIterator<T>;
    abstract get length(): number;
    abstract add(): Maybe<T>;
    abstract insert(i: number): Maybe<T>;
    abstract remove(v: T): boolean;
    abstract has(v: T): boolean;
    abstract nth(n: number): Maybe<T>;
    indices(res?: Vec, i?: number, local?: boolean): Vec<number>;
    protected alloc(): T | undefined;
}
//# sourceMappingURL=alist.d.ts.map