import { ASparseMatrix } from "./amatrix.js";
import type { NzEntry } from "./api.js";
export declare class CSR extends ASparseMatrix {
    /**
     * Constructs CSR from dense row-major matrix values.
     *
     * @param m - rows
     * @param n - columns
     * @param dense - matrix values
     */
    static fromDense(m: number, n: number, dense: ArrayLike<number>): CSR;
    static empty(m: number, n?: number): CSR;
    static identity(size: number): CSR;
    static diag(vals: number[]): CSR;
    /**
     * Non-zero matrix values
     */
    data: number[];
    /**
     * Row start indices into A
     */
    rows: number[];
    /**
     * Column indices for values in A
     */
    cols: number[];
    constructor(m: number, n: number, data: number[], rows: number[], cols: number[]);
    copy(): CSR;
    zero(): this;
    nzEntries(): Generator<NzEntry, void, unknown>;
    reshape(m: number, n?: number): this;
    extract(m: number, n: number, rows: number, cols: number): CSR;
    at(m: number, n: number, safe?: boolean): number;
    setAt(m: number, n: number, x: number, safe?: boolean, compact?: boolean): this;
    denseRow(m: number): number[];
    denseCol(n: number): number[];
    add(mat: CSR): CSR;
    sub(mat: CSR): CSR;
    mul(mat: CSR): CSR;
    mulV(vec: number[]): any[];
    mulN(n: number): CSR;
    nnz(): number;
    nnzRow(m: number): number;
    nzRowCols(m: number): number[];
    nzRowVals(m: number): number[];
    nnzCol(n: number): number;
    nzColVals(n: number): number[];
    nzColRows(n: number): number[];
    transpose(): CSR;
    toDense(): number[];
    toString(): string;
}
//# sourceMappingURL=csr.d.ts.map