import { type LighterRouteType } from '@funkit/connect-core/clients/lighter'; import type { Address } from 'viem'; import type { LighterWithdrawalFlowConfig } from './lighterWithdrawalConfig'; export type LighterSecureSubmission = { status: 'idle'; } | { status: 'submitting'; } | { status: 'submitted'; txHash: string; amountTokenUnits: string; } | { status: 'failed'; message: string; }; export interface UseLighterSecureWithdrawalParams { lighter: LighterWithdrawalFlowConfig; /** The user's L2 main-account index — also the tracking key. */ accountIndex: string | undefined; /** Connected wallet: Secure locks the destination to it. */ recipientAddress: Address; } /** * Submits a Lighter Secure withdrawal: the host's L2 signer bridges the asset * to Ethereum 1:1, with no relay and no quote in the path. Fun is not in that * path, so the direct-execution row is attribution only and fire-and-forget. */ export declare function useLighterSecureWithdrawal({ lighter, accountIndex, recipientAddress, }: UseLighterSecureWithdrawalParams): { submission: LighterSecureSubmission; submit: ({ amountTokenUnits, assetIndex, routeType, sourceSymbol, withdrawalUSD, }: { amountTokenUnits: string; /** Resolved from the account's asset list; never guessed. */ assetIndex: number; routeType: LighterRouteType; /** May carry a ` (Spot)` suffix — tracking wants the base symbol. */ sourceSymbol: string; /** Token amount × spot price, for attribution. '0' when unpriced. */ withdrawalUSD: string; }) => Promise; reset: () => void; }; //# sourceMappingURL=useLighterSecureWithdrawal.d.ts.map