import type { FibonacciHeapNode, MatrixValue } from './types.js'; export type { FibonacciHeapNode }; /** * Comparison function type for heap operations. * INTENTIONAL ANY: typed-function resolves actual types at runtime. */ type CompareFunction = (a: MatrixValue, b: MatrixValue) => boolean; /** * Dependencies for FibonacciHeap factory */ interface FibonacciHeapDependencies { smaller: CompareFunction; larger: CompareFunction; } export declare const createFibonacciHeapClass: import("../../utils/factory.js").FactoryFunction(): { type: string; isFibonacciHeap: boolean; _minimum: FibonacciHeapNode | null; _size: number; /** * Inserts a new data element into the heap. No heap consolidation is * performed at this time, the new node is simply inserted into the root * list of this heap. Running time: O(1) actual. * @memberof FibonacciHeap */ insert(key: number, value: T): FibonacciHeapNode; /** * Returns the number of nodes in heap. Running time: O(1) actual. * @memberof FibonacciHeap */ size(): number; /** * Removes all elements from this heap. * @memberof FibonacciHeap */ clear(): void; /** * Returns true if the heap is empty, otherwise false. * @memberof FibonacciHeap */ isEmpty(): boolean; /** * Extracts the node with minimum key from heap. Amortized running * time: O(log n). * @memberof FibonacciHeap */ extractMinimum(): FibonacciHeapNode | null; /** * Removes a node from the heap given the reference to the node. The trees * in the heap will be consolidated, if necessary. This operation may fail * to remove the correct element if there are nodes with key value -Infinity. * Running time: O(log n) amortized. * @memberof FibonacciHeap */ remove(node: FibonacciHeapNode): void; }; }>; //# sourceMappingURL=FibonacciHeap.d.ts.map