import { type ChainData, type Token } from "@0xsquid/squid-types";
import { TransactionParams, PatchedRouteActionResponse, TransactionStatus } from "@0xsquid/react-hooks";
import { SwapStep } from "@0xsquid/ui";
import type { StatusResponseQueryResult, StepStatusGetterProps } from "../../core/types/transaction";
/**
 * Get the steps for a transaction
 * First step and second step are always the same
 * @param transaction
 * @param statusResponse
 * @returns {TransactionStepStatus[]}
 */
export declare const getStepStatuses: ({ transaction, statusResponse, onlyFullStatusStep, txStatus, }: StepStatusGetterProps) => TransactionStatus[];
export declare const getHalfSuccessState: (status?: TransactionStatus) => TransactionStatus | undefined;
export declare const getStepsInfos: ({ toChain, toToken, transaction, statusResponse, txStatus, actions, fromChain, fromToken, findChain, }: {
    fromChain?: ChainData;
    fromToken?: Token;
    toChain?: ChainData;
    toToken?: Token;
    transaction?: TransactionParams;
    statusResponse?: StatusResponseQueryResult;
    txStatus?: TransactionStatus;
    actions?: PatchedRouteActionResponse[];
    findChain: (chainId?: string) => ChainData | undefined;
}) => SwapStep[];
/**
 * Returns the estimated confirmation time for a given chain
 */
export declare function getEstimatedConfirmationTimeForChain(chain: Pick<ChainData, "chainId" | "chainType">): number;
