import type BigNumber from 'bignumber.js'; import type { Complex } from 'complex.js'; /** Scalar types supported by sqrtm */ type Scalar = number | BigNumber | Complex; /** Matrix data representation */ type MatrixData = Scalar | Scalar[] | Scalar[][]; /** Matrix interface */ export interface Matrix { size(): number[]; valueOf(): MatrixData; _data?: MatrixData; _size?: number[]; } /** Typed function interface for math.js functions */ interface TypedFunction { (...args: unknown[]): R; } /** Dependencies for sqrtm factory */ interface Dependencies { typed: TypedFunction; abs: TypedFunction; add: TypedFunction; multiply: TypedFunction; map: TypedFunction; sqrt: TypedFunction; subtract: TypedFunction; inv: TypedFunction; size: TypedFunction; max: TypedFunction; identity: TypedFunction; } export declare const createSqrtm: import("../utils/factory.js").FactoryFunction; export {}; //# sourceMappingURL=sqrtm.d.ts.map