import { PriceTokenAmount } from "../../../../../../common/tokens";
import { BitcoinBlockchainName, BlockchainName, EvmBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
import { RouterQuoteResponseConfig } from "../../../../../common/providers/router/models/router-quote-response-config";
import { GasData } from "../../common/evm-cross-chain-trade/models/gas-data";
import { FeeInfo } from "../../common/models/fee-info";
import { RubicStep } from "../../common/models/rubicStep";
export interface RouterConstructorParams<T extends BlockchainName> {
    crossChainTrade: {
        from: PriceTokenAmount<T>;
        to: PriceTokenAmount<BlockchainName>;
        feeInfo: FeeInfo;
        gasData: GasData | null;
        priceImpact: number | null;
        routerQuoteConfig: RouterQuoteResponseConfig;
        slippage: number;
    };
    providerAddress: string;
    routePath: RubicStep[];
    useProxy: boolean;
}
export interface RouterEvmConstructorParams extends RouterConstructorParams<EvmBlockchainName> {
}
export interface RouterBitcoinConstructorParams extends RouterConstructorParams<BitcoinBlockchainName> {
}
