import type { FibonacciHeapNode, FibonacciHeapInterface, MatrixValue, EqualScalarFunction } from './types.js'; /** * Value type for Spa elements. * Uses MatrixValue to represent any numeric type (number, BigNumber, Complex, etc.) */ type SpaValue = MatrixValue; /** * Add scalar function type * INTENTIONAL ANY: typed-function resolves the actual types at runtime. */ type AddScalarFunction = (a: MatrixValue, b: MatrixValue) => MatrixValue; /** * Dependencies for Spa factory */ interface SpaDependencies { addScalar: AddScalarFunction; equalScalar: EqualScalarFunction; FibonacciHeap: new () => FibonacciHeapInterface; } export declare const createSpaClass: import("../../utils/factory.js").FactoryFunction | undefined)[]; _heap: FibonacciHeapInterface; /** * Set the value for index i. * * @param {number} i The index * @param {number | BigNumber | Complex} v The value at index i */ set(i: number, v: SpaValue): void; get(i: number): SpaValue; accumulate(i: number, v: SpaValue): void; forEach(from: number, to: number, callback: (key: number, value: SpaValue, spa: /*elided*/ any) => void): void; swap(i: number, j: number): void; }; }>; export {}; //# sourceMappingURL=Spa.d.ts.map