import type { WsWithdrawalLifecycleLeg, WsWithdrawalLifecycleStatus } from "@agg-build/sdk";
import type { AggUiLabels } from "@agg-build/hooks";
/**
 * Visual tone for a single lifecycle step row. Mirrors the place-order
 * success/in-flight timeline so the two flows feel identical to users.
 */
export type WithdrawalLifecycleStepStatus = "pending" | "complete" | "warning" | "error";
export interface WithdrawalLifecycleStep {
    id: string;
    label: string;
    status: WithdrawalLifecycleStepStatus;
}
export type WithdrawalLifecycleStepGroup = WithdrawalLifecycleStep[];
export declare const resolveChainLabel: (chainId: number) => string;
export interface BuildLifecycleStepsParams {
    pending: boolean;
    status: WsWithdrawalLifecycleStatus | null;
    legs: WsWithdrawalLifecycleLeg[];
    walletFlowLabels: AggUiLabels["withdraw"]["walletFlow"];
}
export interface BuildLifecycleStepsResult {
    groups: WithdrawalLifecycleStepGroup[];
    finalStep: WithdrawalLifecycleStep;
    hasDetails: boolean;
}
/**
 * Builds the timeline groups + final summary row consumed by the success
 * step's collapsible execution timeline. Returns the same shape the
 * place-order flow produces, so the two share visual structure verbatim.
 *
 * - Each leg becomes one row in the first (and only) group.
 * - The final row (always rendered, optionally collapsing the group above)
 *   reflects the *top-level* lifecycle status — "Bridging funds across
 *   chains…", "Withdrawal complete.", etc.
 */
export declare const buildWithdrawalLifecycleSteps: ({ pending, status, legs, walletFlowLabels, }: BuildLifecycleStepsParams) => BuildLifecycleStepsResult;
