import { type SwapLifecycleEvent } from '@layerswap/widget-types'; import type { SwapLifecycleContext } from '../lib/swapLifecycle'; /** Identity fields of an effect-driven observation; context (swapId, addresses, …) is passed separately and never re-triggers emission. */ export type ObservedLifecycleEvent = Omit; /** * Emits an effect-driven lifecycle observation once per transition of its * observation fingerprint (the same fingerprint every consumer dedupes on, see * `lifecycleObservationFingerprint` in @layerswap/widget-types). * Context/enrichment arriving later (swap id, source address, confirmations) * never re-emits; the latest context is spread in at emission time. * * Emission is synchronous inside a passive effect so a child's deferred * `transfer_blocked` (useTransferBlocked) still follows the parent's phase. */ export declare function useLifecycleObservation(observation: ObservedLifecycleEvent | undefined, context: SwapLifecycleContext | undefined): void; //# sourceMappingURL=useLifecycleObservation.d.ts.map