import { WalletProps } from "@coin-voyage/crypto/types"; import { ChainId, ChainType, Currency, CurrencyBase, PaymentDetails, PaymentMethod, PayOrderParams, type PayOrder } from "@coin-voyage/shared/types"; import { ROUTE } from "../types/routes"; import { CurrencyAndQuoteID } from "../types/state"; import { usePayOrderQuotes } from "./usePayOrderQuotes"; /** Loads a PayOrder + manages the corresponding modal. */ export interface PaymentState { setPayId: (id: string | null) => Promise; createDepositPayOrder: (params: PayOrderParams, onError?: (message: string) => void) => Promise; copyDepositPayOrder: () => Promise; clearUserSelection: () => void; payOrder: PayOrder | undefined; paymentMethod: PaymentMethod | undefined; setPaymentMethod: React.Dispatch>; connectorChainType: ChainType | undefined; setConnectorChainType: React.Dispatch>; selectedWallet: WalletProps | undefined; setSelectedWallet: React.Dispatch>; payOrderQuotes: ReturnType; selectedCurrencyOption: CurrencyAndQuoteID | undefined; setSelectedCurrencyOption: (option: CurrencyAndQuoteID | undefined) => void; payFromWallet: (currency: CurrencyAndQuoteID) => Promise; payWithCard: () => Promise; payToAddress: (currency: CurrencyBase) => Promise; refreshOrder: () => Promise; senderEnsName: string | undefined; payToAddressChainId: ChainId | undefined; setPayToAddressChainId: React.Dispatch>; payToAddressCurrency: Currency | undefined; setPayToAddressCurrency: React.Dispatch>; } export declare function usePaymentState({ payOrder, setPayOrder, setRoute, log, }: { payOrder: PayOrder | undefined; setPayOrder: (o: PayOrder) => void; setRoute: React.Dispatch>; log: (...args: unknown[]) => void; }): PaymentState;