import { ReactNode } from 'react';
import { TokenBalance } from '../types/token';
export type PendingEntry = {
    priorBalance: TokenBalance;
};
export type BalancesUpdateContextType = {
    lastUpdatedAt: Date | null;
    pendingBalances: Record<string, PendingEntry>;
    addPendingTokens: (entries: Array<{
        balanceKey: string;
        priorBalance: TokenBalance;
    }>) => void;
    notifyRefreshed: () => void;
    /** Trigger an immediate refresh of intents and RPC balances. */
    refresh: () => void;
};
/**
 * Provides balance update tracking (pending tokens, last refresh timestamp).
 * Idempotent — if a parent already provides this context the component is a
 * transparent pass-through, so nesting multiple providers is safe.
 */
export declare const BalancesUpdateProvider: ({ children, }: {
    children: ReactNode;
}) => import("react/jsx-runtime").JSX.Element;
export declare const useBalancesUpdate: () => BalancesUpdateContextType;
