import { PriceToken, PriceTokenAmount } from "../../../../../common/tokens";
import { BlockchainName, EvmBlockchainName } from "../../../../../core/blockchain/models/blockchain-name";
import { UniZenTradeInfo } from "../../../../common/providers/unizen/models/cross-chain-models/unizen-ccr-quote-response";
import { RequiredCrossChainOptions } from '../../models/cross-chain-options';
import { CrossChainProvider } from '../common/cross-chain-provider';
import { CalculationResult } from '../common/models/calculation-result';
import { FeeInfo } from '../common/models/fee-info';
import { RubicStep } from '../common/models/rubicStep';
import { UniZenCcrTradeProvider } from './constants/unizen-trade-providers';
export declare class UniZenCcrProvider extends CrossChainProvider {
    readonly type: "unizen";
    isSupportedBlockchain(blockchain: BlockchainName): boolean;
    calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredCrossChainOptions): Promise<CalculationResult>;
    protected getRoutePath(from: PriceTokenAmount, to: PriceTokenAmount, tradeProtocol: UniZenCcrTradeProvider, srcTrade: UniZenTradeInfo, dstTrade: UniZenTradeInfo): Promise<RubicStep[]>;
    getFeeInfo(fromBlockchain: EvmBlockchainName, providerAddress: string, percentFeeToken: PriceTokenAmount, useProxy: boolean): Promise<FeeInfo>;
}
