import { BridgeChain, BridgeCurrency, Chain, CurrencyAmount } from '@envanik/sdk';
import { BridgeState, ChainField, CurrencyField, TransactionStatus } from './atom';
import { GetRoutesProps, Route, SendTransaction } from './types';
export declare function useBridgeState(): BridgeState;
export declare function useBridgeActionHandlers(): {
    onCurrencySelection: (field: CurrencyField, currency: BridgeCurrency) => void;
    onChainSelection: (field: ChainField, chain: Chain) => void;
    onSwitchTokens: () => void;
    onSelectRoute: (route: Route) => void;
    onSwitchChains: () => void;
    onUserInput: (field: CurrencyField, typedValue: string) => void;
    onChangeRecipient: (recipient: string | null) => void;
    onChangeRouteLoaderStatus: () => void;
    onClearTransactionData: (transactionStatus: TransactionStatus) => void;
};
export declare function tryParseAmount(value?: string, currency?: BridgeCurrency): CurrencyAmount | undefined;
export declare function useDerivedBridgeInfo(): {
    currencies: {
        [field in CurrencyField]?: BridgeCurrency;
    };
    chains: {
        [field in ChainField]?: BridgeChain;
    };
    currencyBalances: {
        [field in CurrencyField]?: CurrencyAmount;
    };
    parsedAmount: CurrencyAmount | undefined;
    inputError?: string;
    routes?: Route[];
    estimatedAmount?: CurrencyAmount;
    amountNet?: string;
    recipient?: string | null;
    routesLoaderStatus?: boolean;
    selectedRoute?: Route;
    transactionLoaderStatus: boolean;
    transactionStatus?: TransactionStatus;
    transactionError?: Error;
};
export declare function useBridgeSwapActionHandlers(): {
    getRoutes: (props: GetRoutesProps) => void;
    sendTransaction: SendTransaction;
};
