import { type Refuel } from '@layerswap/widget-types'; import { SwapDetails, TransactionStatus } from '../../lib/apiClients/layerSwapApiClient'; import type { GaslessAuthorizationStatus } from '../../lib/apiClients/layerSwapApiClient'; import { Progress, ProgressStatus } from '../Pages/Swap/Withdraw/Processing/types'; import { SwapPhase, TERMINAL_PHASES } from './swapPhase'; export { SwapPhase, TERMINAL_PHASES }; export type ResolveSwapPhaseInput = { swapDetails: SwapDetails | undefined; refuel: Refuel | undefined; inputTxStatusFromApi?: TransactionStatus; depositCompleted?: boolean; providerSubmissionAccepted?: boolean; atomicBatchFailed?: boolean; walletActionExecuting?: boolean; isDepositFlow?: boolean; gaslessFailureStatus?: GaslessAuthorizationStatus; }; export type SwapFailureReason = 'transfer_failed' | 'gasless_deposit_failed'; export type StepStatuses = { [Progress.InputTransfer]: ProgressStatus; [Progress.OutputTransfer]: ProgressStatus; [Progress.Refuel]: ProgressStatus; [Progress.Refund]: ProgressStatus; }; export type ResolvedSwapStatus = { phase: SwapPhase; stepStatuses: StepStatuses; generalStatus: { title: string; subTitle: string | null; }; isTerminal: boolean; inputReady: boolean; outputReady: boolean; showWithdrawScreen: boolean; swapInputTxStatus: TransactionStatus; isRefundFlow: boolean; hidesSteps: boolean; showsFailedPanel: boolean; showsEstimatedTime: boolean; failureReason?: SwapFailureReason; gaslessFailureStatus?: GaslessAuthorizationStatus; }; export declare function resolveSwapPhase(input: ResolveSwapPhaseInput): ResolvedSwapStatus; //# sourceMappingURL=resolveSwapPhase.d.ts.map