import React from 'react';
import { TokenInfo } from '../Token';
export declare enum RoutePriceStatus {
    Initial = "Initial",
    Loading = "Loading",
    Failed = "Failed",
    Success = "Success"
}
export interface FetchRoutePrice {
    fromToken: TokenInfo | null;
    toToken: TokenInfo | null;
    marginAmount?: string;
    fromAmount: string;
    toAmount: string;
    estimateGas?: boolean;
    isReverseRouting?: boolean;
    slippage?: number;
    slippageLoading?: boolean;
}
interface IRouteResponse {
    resAmount: number;
    priceImpact: number;
    baseFeeAmount: number;
    additionalFeeAmount: number;
    resPricePerToToken: number;
    resPricePerFromToken: number;
    to: string;
    data: string;
    value: string;
    useSource: string;
    duration: number;
}
export declare function useFetchRoutePrice({ toToken, fromToken, fromAmount, toAmount, marginAmount, estimateGas, isReverseRouting, slippage, slippageLoading, }: FetchRoutePrice): {
    status: RoutePriceStatus;
    rawBrief: IRouteResponse | null;
    refetch: () => Promise<void>;
    executeSwap: (subtitle: React.ReactNode) => void;
    reset: () => void;
};
export {};
