import type { BinOp, NzEntry } from "./api.js";
export declare class SparseVec {
    static fromDense(dense: ArrayLike<number>): SparseVec;
    m: number;
    data: number[];
    constructor(m: number, data?: number[]);
    copy(): SparseVec;
    get length(): number;
    get nnz(): number;
    nzEntries(): Generator<NzEntry, void, unknown>;
    at(m: number, safe?: boolean): number;
    setAt(m: number, v: number, safe?: boolean): this;
    binopN(op: BinOp, n: number): SparseVec;
    binop(op: BinOp, b: SparseVec): SparseVec;
    add(v: SparseVec): SparseVec;
    sub(v: SparseVec): SparseVec;
    mul(v: SparseVec): SparseVec;
    div(v: SparseVec): SparseVec;
    addN(n: number): SparseVec;
    subN(n: number): SparseVec;
    mulN(n: number): SparseVec;
    divN(n: number): SparseVec;
    dot(v: SparseVec): number;
    magSquared(): number;
    mag(): number;
    normalize(n?: number): this;
    toDense(): any[];
    toString(): string;
    protected ensureSize(v: SparseVec): void;
}
//# sourceMappingURL=vec.d.ts.map