import type { TypedFunction } from '../../core/function/typed.js'; interface MatrixConstructor { (data: unknown[] | unknown[][], storage?: 'dense' | 'sparse'): DenseMatrix | SparseMatrix; } interface DenseMatrix { type: 'DenseMatrix'; isDenseMatrix: true; _data: unknown[][]; _size: number[]; _datatype?: string; storage(): 'dense'; size(): number[]; valueOf(): unknown[][]; } interface SparseMatrix { type: 'SparseMatrix'; isSparseMatrix: true; _values?: unknown[]; _index?: number[]; _ptr?: number[]; _size: number[]; _datatype?: string; _data?: unknown; storage(): 'sparse'; size(): number[]; valueOf(): unknown[][]; } interface DenseMatrixConstructor { new (data: { data: unknown[][]; size: number[]; datatype?: string; }): DenseMatrix; _swapRows(i: number, j: number, data: unknown[][]): void; } interface SparseMatrixConstructor { new (data: { values?: unknown[]; index?: number[]; ptr?: number[]; size: number[]; datatype?: string; }): SparseMatrix; _swapRows(j: number, pi: number, n: number, values: unknown[], index: number[], ptr: number[]): void; _forEachRow(j: number, values: unknown[], index: number[], ptr: number[], callback: (i: number, value: unknown) => void): void; } interface Spa { set(i: number, value: unknown): void; get(i: number): unknown; accumulate(i: number, value: unknown): void; forEach(start: number, end: number, callback: (i: number, value: unknown) => void): void; swap(i: number, j: number): void; } interface SpaConstructor { new (): Spa; } interface Dependencies { typed: TypedFunction; matrix: MatrixConstructor; abs: TypedFunction; addScalar: TypedFunction; divideScalar: TypedFunction; multiplyScalar: TypedFunction; subtractScalar: TypedFunction; larger: TypedFunction; equalScalar: TypedFunction; unaryMinus: TypedFunction; DenseMatrix: DenseMatrixConstructor; SparseMatrix: SparseMatrixConstructor; Spa: SpaConstructor; } export declare const createLup: import("../../utils/factory.js").FactoryFunction; export {}; //# sourceMappingURL=lup.d.ts.map