import type { BinOp, NzEntry } from "./api.js";
/**
 * Sparse nD binary vector where each component can only have 0 or 1 values and
 * only the indices of 1-components are stored. See thi.ng/bitfield for an
 * alternative.
 */
export declare class SparseBVec {
    /**
     * Creates a SparseBVec from a dense vector of numbers or booleans. Only the
     * indices of truthy or non-zero components are stored.
     *
     * @param dense
     */
    static fromDense(dense: ArrayLike<number | boolean>): SparseBVec;
    m: number;
    data: number[];
    constructor(m: number, data?: number[]);
    copy(): SparseBVec;
    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): SparseBVec;
    binop(op: BinOp, b: SparseBVec): SparseBVec;
    and(b: SparseBVec): SparseBVec;
    or(b: SparseBVec): SparseBVec;
    not(): SparseBVec;
    dot(v: SparseBVec): number;
    magSquared(): number;
    mag(): number;
    toDense(): number[];
    toString(): string;
    protected ensureSize(v: SparseBVec): void;
}
//# sourceMappingURL=bvec.d.ts.map