import { OnChainTradeType } from "../../../common/models/on-chain-trade-type";
import { AlgebraQuoterController } from "../../common/algebra/algebra-quoter-controller";
import { UniswapV3AlgebraTradeStructOmitPath } from "../../common/uniswap-v3-algebra-abstract/models/uniswap-v3-algebra-trade-struct";
import { UniswapV3AlgebraAbstractProvider } from "../../common/uniswap-v3-algebra-abstract/uniswap-v3-algebra-abstract-provider";
import { ModeAlgebraTrade } from "./mode-algebra-trade";
import { ModeAlgebraRoute } from "./models/mode-algebra-route";
export declare class ModeAlgebraProvider extends UniswapV3AlgebraAbstractProvider<ModeAlgebraTrade> {
    protected readonly contractAddress = "0xAc48FcF1049668B285f3dC72483DF5Ae2162f7e8";
    protected readonly contractAbi: import("web3-utils").AbiItem[];
    readonly blockchain: "MODE";
    protected readonly OnChainTradeClass: typeof ModeAlgebraTrade;
    protected readonly providerConfiguration: import("../../common/uniswap-v3-algebra-abstract/models/uniswap-v3-algebra-provider-configuration").UniswapV3AlgebraProviderConfiguration;
    protected readonly quoterController: AlgebraQuoterController;
    get type(): OnChainTradeType;
    protected createTradeInstance(tradeStruct: UniswapV3AlgebraTradeStructOmitPath, route: ModeAlgebraRoute, providerAddress: string): ModeAlgebraTrade;
}
