import { Checkout, WrappedBrowserProvider, GetBalanceResult } from '@imtbl/checkout-sdk'; import { TransactionReceipt } from 'ethers'; export type TransferFormState = { type: 'FORM'; allowedBalances: GetBalanceResult[]; checkout: Checkout; provider: WrappedBrowserProvider; amount: string; amountError: string; tokenAddress: string; toAddress: string; toAddressError: string; }; export type TransferCompleteState = { type: 'COMPLETE'; receipt: TransactionReceipt; chainId: number; checkout: Checkout; provider: WrappedBrowserProvider; allowedBalances: GetBalanceResult[]; }; export type TransferState = { type: 'INITIALISING'; } | TransferFormState | { type: 'AWAITING_APPROVAL'; checkout: Checkout; provider: WrappedBrowserProvider; allowedBalances: GetBalanceResult[]; } | { type: 'TRANSFERRING'; checkout: Checkout; provider: WrappedBrowserProvider; allowedBalances: GetBalanceResult[]; } | TransferCompleteState; export declare const useTransferContext: () => TransferState;