import type BigNumber from 'bignumber.js'; import type { Complex } from 'complex.js'; /** Scalar types supported by eigs */ type Scalar = number | BigNumber | Complex; /** Nested array of scalar values */ type NestedArray = T | NestedArray[]; /** Matrix data can be nested arrays of scalars */ type MatrixData = NestedArray; /** Typed function interface for math.js functions */ interface TypedFunction { (...args: unknown[]): R; find(func: TypedFunction, signature: string[]): TypedFunction; } /** Matrix interface */ interface Matrix { type: string; storage(): string; datatype(): string | undefined; size(): number[]; clone(): Matrix; toArray(): MatrixData; valueOf(): MatrixData; _data?: MatrixData; _size?: number[]; _datatype?: string; } /** Matrix constructor function */ interface MatrixConstructor { (data: Scalar[] | Scalar[][], storage?: 'dense' | 'sparse'): Matrix; } /** Configuration object */ interface Config { relTol: number | BigNumber; } /** Dependencies for eigs factory */ interface Dependencies { config: Config; typed: TypedFunction; matrix: MatrixConstructor; addScalar: TypedFunction; equal: TypedFunction; subtract: TypedFunction; abs: TypedFunction; atan: TypedFunction; cos: TypedFunction; sin: TypedFunction; multiplyScalar: TypedFunction; divideScalar: TypedFunction; inv: TypedFunction; bignumber: TypedFunction; multiply: TypedFunction; add: TypedFunction; larger: TypedFunction; column: TypedFunction; flatten: TypedFunction; number: TypedFunction; complex: TypedFunction; sqrt: TypedFunction; diag: TypedFunction; size: TypedFunction; reshape: TypedFunction; qr: TypedFunction<{ Q: Scalar[][]; R: Scalar[][]; }>; usolve: TypedFunction; usolveAll: TypedFunction; im: TypedFunction; re: TypedFunction; smaller: TypedFunction; matrixFromColumns: TypedFunction; dot: TypedFunction; } export declare const createEigs: import("../utils/factory.js").FactoryFunction; export {}; //# sourceMappingURL=eigs.d.ts.map