import type { Account, AccountLike } from "@ledgerhq/types-live"; import { type FlowStatus } from "../../wizard/types"; import { getSendUiConfig } from "../uiConfig"; import type { SendFlowState, SendFlowInitParams, RecipientData, SendFlowOperationActions, SendFlowOperationResult, SendFlowTransactionActions, SendFlowTransactionState } from "../types"; type UseSendFlowBusinessLogicParams = Readonly<{ initParams?: SendFlowInitParams; useOperationHook: (params: { account: AccountLike | null; parentAccount: Account | null; }) => Readonly<{ state: SendFlowOperationResult; actions: SendFlowOperationActions; }>; useTransactionHook: (params: { account: AccountLike | null; parentAccount: Account | null; }) => Readonly<{ state: SendFlowTransactionState; actions: SendFlowTransactionActions; }>; }>; type UseSendFlowBusinessLogicResult = Readonly<{ state: SendFlowState; transaction: ReturnType["actions"] & { setRecipient: (recipient: RecipientData) => void; }; operation: SendFlowOperationActions; status: Readonly<{ setStatus: (status: FlowStatus) => void; setError: () => void; setSuccess: () => void; resetStatus: () => void; }>; uiConfig: ReturnType; recipientSearch: Readonly<{ value: string; setValue: (value: string) => void; clear: () => void; }>; recipient: RecipientData | null; setAccountAndNavigate: (account: AccountLike, parentAccount?: Account) => void; }>; /** * Core Send flow business logic - platform agnostic * Manages account, transaction, recipient, operation, and status state * Apps inject platform-specific operation hooks (e.g. Redux) */ export declare function useSendFlowBusinessLogic({ initParams, useOperationHook, useTransactionHook, }: UseSendFlowBusinessLogicParams): UseSendFlowBusinessLogicResult; export {}; //# sourceMappingURL=useSendFlowBusinessLogic.d.ts.map