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