import { PriceToken, PriceTokenAmount } from "../../../../../../common/tokens";
import { BlockchainName, EvmBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
import { OnChainTradeError } from '../../../models/on-chain-trade-error';
import { RequiredOnChainCalculationOptions } from '../../common/models/on-chain-calculation-options';
import { NativeRouterTradeInstance } from '../common/native-router-abstract/models/native-router-trade-struct';
import { NativeRouterAbstractProvider } from '../common/native-router-abstract/native-router-abstract-provider';
import { ZetaSwapTrade } from './zetaswap-trade';
export declare class ZetaSwapProvider extends NativeRouterAbstractProvider<ZetaSwapTrade> {
    readonly tradeType: "ZETA_SWAP";
    isSupportedBlockchain(blockchain: BlockchainName): boolean;
    protected createNativeRouterTradeInstance(tradeInstance: NativeRouterTradeInstance): ZetaSwapTrade;
    calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredOnChainCalculationOptions): Promise<ZetaSwapTrade | OnChainTradeError>;
}
