import { Node } from '../../types/core'; import { ExternalDataReference } from '../../types/NodeDefinition'; /** * External data state */ export type ExternalDataState = { data: unknown; isLoading: boolean; error: Error | null; }; /** * External data state with actions */ export type ExternalDataStateWithActions = ExternalDataState & { refresh: () => void; update: (data: unknown) => Promise; }; /** * Comparison result for external data state changes */ export type ExternalDataStateComparison = { objectChanged: boolean; dataChanged: boolean; isLoadingChanged: boolean; errorChanged: boolean; refreshChanged: boolean; updateChanged: boolean; }; /** * Compare two external data states and return detailed comparison */ export declare function compareExternalDataStates(prev: ExternalDataStateWithActions | null | undefined, next: ExternalDataStateWithActions | null | undefined): ExternalDataStateComparison; /** * Check if external data states are equal (shallow comparison of values) */ export declare function areExternalDataStatesEqual(prev: ExternalDataStateWithActions | null | undefined, next: ExternalDataStateWithActions | null | undefined): boolean; /** * Hook for managing external data for a node */ export declare function useExternalData(node: Node | null, externalRef?: ExternalDataReference): ExternalDataStateWithActions; /** * Hook for managing multiple external data references */ export declare function useExternalDataMap(nodes: Record, externalRefs: Record): Record;