import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export interface TenderSwapInterface extends utils.Interface {
    functions: {
        'addLiquidity(uint256[2],uint256,uint256)': FunctionFragment;
        'amplificationParams()': FunctionFragment;
        'calculateRemoveLiquidity(uint256)': FunctionFragment;
        'calculateRemoveLiquidityOneToken(uint256,address)': FunctionFragment;
        'calculateSwap(address,uint256)': FunctionFragment;
        'calculateTokenAmount(uint256[],bool)': FunctionFragment;
        'feeParams()': FunctionFragment;
        'getA()': FunctionFragment;
        'getAPrecise()': FunctionFragment;
        'getToken0()': FunctionFragment;
        'getToken0Balance()': FunctionFragment;
        'getToken1()': FunctionFragment;
        'getToken1Balance()': FunctionFragment;
        'getVirtualPrice()': FunctionFragment;
        'initialize(address,address,string,string,uint256,uint256,uint256,address)': FunctionFragment;
        'lpToken()': FunctionFragment;
        'multicall(bytes[])': FunctionFragment;
        'owner()': FunctionFragment;
        'rampA(uint256,uint256)': FunctionFragment;
        'removeLiquidity(uint256,uint256[2],uint256)': FunctionFragment;
        'removeLiquidityImbalance(uint256[2],uint256,uint256)': FunctionFragment;
        'removeLiquidityOneToken(uint256,address,uint256,uint256)': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'selfPermit(address,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment;
        'selfPermitIfNecessary(address,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment;
        'setAdminFee(uint256)': FunctionFragment;
        'setSwapFee(uint256)': FunctionFragment;
        'stopRampA()': FunctionFragment;
        'swap(address,uint256,uint256,uint256)': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'addLiquidity' | 'amplificationParams' | 'calculateRemoveLiquidity' | 'calculateRemoveLiquidityOneToken' | 'calculateSwap' | 'calculateTokenAmount' | 'feeParams' | 'getA' | 'getAPrecise' | 'getToken0' | 'getToken0Balance' | 'getToken1' | 'getToken1Balance' | 'getVirtualPrice' | 'initialize' | 'lpToken' | 'multicall' | 'owner' | 'rampA' | 'removeLiquidity' | 'removeLiquidityImbalance' | 'removeLiquidityOneToken' | 'renounceOwnership' | 'selfPermit' | 'selfPermitIfNecessary' | 'setAdminFee' | 'setSwapFee' | 'stopRampA' | 'swap' | 'transferOwnership'): FunctionFragment;
    encodeFunctionData(functionFragment: 'addLiquidity', values: [
        [
            PromiseOrValue<BigNumberish>,
            PromiseOrValue<BigNumberish>
        ],
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'amplificationParams', values?: undefined): string;
    encodeFunctionData(functionFragment: 'calculateRemoveLiquidity', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'calculateRemoveLiquidityOneToken', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'calculateSwap', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'calculateTokenAmount', values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'feeParams', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getA', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getAPrecise', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getToken0', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getToken0Balance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getToken1', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getToken1Balance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getVirtualPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initialize', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: 'lpToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'multicall', values: [PromiseOrValue<BytesLike>[]]): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rampA', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'removeLiquidity', values: [
        PromiseOrValue<BigNumberish>,
        [
            PromiseOrValue<BigNumberish>,
            PromiseOrValue<BigNumberish>
        ],
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'removeLiquidityImbalance', values: [
        [
            PromiseOrValue<BigNumberish>,
            PromiseOrValue<BigNumberish>
        ],
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'removeLiquidityOneToken', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'selfPermit', values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'selfPermitIfNecessary', values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'setAdminFee', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setSwapFee', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'stopRampA', values?: undefined): string;
    encodeFunctionData(functionFragment: 'swap', values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
    decodeFunctionResult(functionFragment: 'addLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'amplificationParams', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculateRemoveLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculateRemoveLiquidityOneToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculateSwap', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculateTokenAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'feeParams', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getA', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAPrecise', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getToken0', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getToken0Balance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getToken1', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getToken1Balance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getVirtualPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lpToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'multicall', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rampA', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeLiquidityImbalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeLiquidityOneToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'selfPermit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'selfPermitIfNecessary', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setAdminFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setSwapFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stopRampA', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'swap', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    events: {
        'AddLiquidity(address,uint256[2],uint256[2],uint256,uint256)': EventFragment;
        'NewAdminFee(uint256)': EventFragment;
        'NewSwapFee(uint256)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
        'RampA(uint256,uint256,uint256,uint256)': EventFragment;
        'RemoveLiquidity(address,uint256[2],uint256)': EventFragment;
        'RemoveLiquidityImbalance(address,uint256[2],uint256[2],uint256,uint256)': EventFragment;
        'RemoveLiquidityOne(address,uint256,uint256,address,uint256)': EventFragment;
        'StopRampA(uint256,uint256)': EventFragment;
        'Swap(address,address,uint256,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AddLiquidity'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewAdminFee'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewSwapFee'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RampA'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoveLiquidity'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoveLiquidityImbalance'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoveLiquidityOne'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'StopRampA'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Swap'): EventFragment;
}
export interface AddLiquidityEventObject {
    provider: string;
    tokenAmounts: [BigNumber, BigNumber];
    fees: [BigNumber, BigNumber];
    invariant: BigNumber;
    lpTokenSupply: BigNumber;
}
export declare type AddLiquidityEvent = TypedEvent<[
    string,
    [BigNumber, BigNumber],
    [BigNumber, BigNumber],
    BigNumber,
    BigNumber
], AddLiquidityEventObject>;
export declare type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>;
export interface NewAdminFeeEventObject {
    newAdminFee: BigNumber;
}
export declare type NewAdminFeeEvent = TypedEvent<[BigNumber], NewAdminFeeEventObject>;
export declare type NewAdminFeeEventFilter = TypedEventFilter<NewAdminFeeEvent>;
export interface NewSwapFeeEventObject {
    newSwapFee: BigNumber;
}
export declare type NewSwapFeeEvent = TypedEvent<[BigNumber], NewSwapFeeEventObject>;
export declare type NewSwapFeeEventFilter = TypedEventFilter<NewSwapFeeEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface RampAEventObject {
    oldA: BigNumber;
    newA: BigNumber;
    initialTime: BigNumber;
    futureTime: BigNumber;
}
export declare type RampAEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], RampAEventObject>;
export declare type RampAEventFilter = TypedEventFilter<RampAEvent>;
export interface RemoveLiquidityEventObject {
    provider: string;
    tokenAmounts: [BigNumber, BigNumber];
    lpTokenSupply: BigNumber;
}
export declare type RemoveLiquidityEvent = TypedEvent<[string, [BigNumber, BigNumber], BigNumber], RemoveLiquidityEventObject>;
export declare type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>;
export interface RemoveLiquidityImbalanceEventObject {
    provider: string;
    tokenAmounts: [BigNumber, BigNumber];
    fees: [BigNumber, BigNumber];
    invariant: BigNumber;
    lpTokenSupply: BigNumber;
}
export declare type RemoveLiquidityImbalanceEvent = TypedEvent<[
    string,
    [BigNumber, BigNumber],
    [BigNumber, BigNumber],
    BigNumber,
    BigNumber
], RemoveLiquidityImbalanceEventObject>;
export declare type RemoveLiquidityImbalanceEventFilter = TypedEventFilter<RemoveLiquidityImbalanceEvent>;
export interface RemoveLiquidityOneEventObject {
    provider: string;
    lpTokenAmount: BigNumber;
    lpTokenSupply: BigNumber;
    tokenReceived: string;
    receivedAmount: BigNumber;
}
export declare type RemoveLiquidityOneEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    string,
    BigNumber
], RemoveLiquidityOneEventObject>;
export declare type RemoveLiquidityOneEventFilter = TypedEventFilter<RemoveLiquidityOneEvent>;
export interface StopRampAEventObject {
    currentA: BigNumber;
    time: BigNumber;
}
export declare type StopRampAEvent = TypedEvent<[BigNumber, BigNumber], StopRampAEventObject>;
export declare type StopRampAEventFilter = TypedEventFilter<StopRampAEvent>;
export interface SwapEventObject {
    buyer: string;
    tokenSold: string;
    amountSold: BigNumber;
    amountReceived: BigNumber;
}
export declare type SwapEvent = TypedEvent<[string, string, BigNumber, BigNumber], SwapEventObject>;
export declare type SwapEventFilter = TypedEventFilter<SwapEvent>;
export interface TenderSwap extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: TenderSwapInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        addLiquidity(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _minToMint: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        amplificationParams(overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            initialA: BigNumber;
            futureA: BigNumber;
            initialATime: BigNumber;
            futureATime: BigNumber;
        }>;
        calculateRemoveLiquidity(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[[BigNumber, BigNumber]]>;
        calculateRemoveLiquidityOneToken(tokenAmount: PromiseOrValue<BigNumberish>, tokenReceive: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        calculateSwap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        calculateTokenAmount(amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber]>;
        feeParams(overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            swapFee: BigNumber;
            adminFee: BigNumber;
        }>;
        getA(overrides?: CallOverrides): Promise<[BigNumber]>;
        getAPrecise(overrides?: CallOverrides): Promise<[BigNumber]>;
        getToken0(overrides?: CallOverrides): Promise<[string]>;
        getToken0Balance(overrides?: CallOverrides): Promise<[BigNumber]>;
        getToken1(overrides?: CallOverrides): Promise<[string]>;
        getToken1Balance(overrides?: CallOverrides): Promise<[BigNumber]>;
        getVirtualPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
        initialize(_token0: PromiseOrValue<string>, _token1: PromiseOrValue<string>, lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, lpTokenTargetAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        lpToken(overrides?: CallOverrides): Promise<[string]>;
        multicall(_data: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        rampA(futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeLiquidity(amount: PromiseOrValue<BigNumberish>, minAmounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeLiquidityImbalance(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _maxBurnAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeLiquidityOneToken(_tokenAmount: PromiseOrValue<BigNumberish>, _tokenReceive: PromiseOrValue<string>, _minAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        selfPermit(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        selfPermitIfNecessary(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setAdminFee(newAdminFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setSwapFee(newSwapFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stopRampA(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        swap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, _minDy: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferOwnership(_newOwnner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    addLiquidity(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _minToMint: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    amplificationParams(overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        initialA: BigNumber;
        futureA: BigNumber;
        initialATime: BigNumber;
        futureATime: BigNumber;
    }>;
    calculateRemoveLiquidity(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
    calculateRemoveLiquidityOneToken(tokenAmount: PromiseOrValue<BigNumberish>, tokenReceive: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    calculateSwap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    calculateTokenAmount(amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
    feeParams(overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        swapFee: BigNumber;
        adminFee: BigNumber;
    }>;
    getA(overrides?: CallOverrides): Promise<BigNumber>;
    getAPrecise(overrides?: CallOverrides): Promise<BigNumber>;
    getToken0(overrides?: CallOverrides): Promise<string>;
    getToken0Balance(overrides?: CallOverrides): Promise<BigNumber>;
    getToken1(overrides?: CallOverrides): Promise<string>;
    getToken1Balance(overrides?: CallOverrides): Promise<BigNumber>;
    getVirtualPrice(overrides?: CallOverrides): Promise<BigNumber>;
    initialize(_token0: PromiseOrValue<string>, _token1: PromiseOrValue<string>, lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, lpTokenTargetAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    lpToken(overrides?: CallOverrides): Promise<string>;
    multicall(_data: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    owner(overrides?: CallOverrides): Promise<string>;
    rampA(futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeLiquidity(amount: PromiseOrValue<BigNumberish>, minAmounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeLiquidityImbalance(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _maxBurnAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeLiquidityOneToken(_tokenAmount: PromiseOrValue<BigNumberish>, _tokenReceive: PromiseOrValue<string>, _minAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    selfPermit(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    selfPermitIfNecessary(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setAdminFee(newAdminFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setSwapFee(newSwapFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stopRampA(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    swap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, _minDy: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferOwnership(_newOwnner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        addLiquidity(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _minToMint: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        amplificationParams(overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            initialA: BigNumber;
            futureA: BigNumber;
            initialATime: BigNumber;
            futureATime: BigNumber;
        }>;
        calculateRemoveLiquidity(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        calculateRemoveLiquidityOneToken(tokenAmount: PromiseOrValue<BigNumberish>, tokenReceive: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        calculateSwap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        calculateTokenAmount(amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        feeParams(overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            swapFee: BigNumber;
            adminFee: BigNumber;
        }>;
        getA(overrides?: CallOverrides): Promise<BigNumber>;
        getAPrecise(overrides?: CallOverrides): Promise<BigNumber>;
        getToken0(overrides?: CallOverrides): Promise<string>;
        getToken0Balance(overrides?: CallOverrides): Promise<BigNumber>;
        getToken1(overrides?: CallOverrides): Promise<string>;
        getToken1Balance(overrides?: CallOverrides): Promise<BigNumber>;
        getVirtualPrice(overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_token0: PromiseOrValue<string>, _token1: PromiseOrValue<string>, lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, lpTokenTargetAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        lpToken(overrides?: CallOverrides): Promise<string>;
        multicall(_data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<string[]>;
        owner(overrides?: CallOverrides): Promise<string>;
        rampA(futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        removeLiquidity(amount: PromiseOrValue<BigNumberish>, minAmounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        removeLiquidityImbalance(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _maxBurnAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        removeLiquidityOneToken(_tokenAmount: PromiseOrValue<BigNumberish>, _tokenReceive: PromiseOrValue<string>, _minAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        selfPermit(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        selfPermitIfNecessary(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        setAdminFee(newAdminFee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setSwapFee(newSwapFee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        stopRampA(overrides?: CallOverrides): Promise<void>;
        swap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, _minDy: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(_newOwnner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'AddLiquidity(address,uint256[2],uint256[2],uint256,uint256)'(provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null): AddLiquidityEventFilter;
        AddLiquidity(provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null): AddLiquidityEventFilter;
        'NewAdminFee(uint256)'(newAdminFee?: null): NewAdminFeeEventFilter;
        NewAdminFee(newAdminFee?: null): NewAdminFeeEventFilter;
        'NewSwapFee(uint256)'(newSwapFee?: null): NewSwapFeeEventFilter;
        NewSwapFee(newSwapFee?: null): NewSwapFeeEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        'RampA(uint256,uint256,uint256,uint256)'(oldA?: null, newA?: null, initialTime?: null, futureTime?: null): RampAEventFilter;
        RampA(oldA?: null, newA?: null, initialTime?: null, futureTime?: null): RampAEventFilter;
        'RemoveLiquidity(address,uint256[2],uint256)'(provider?: PromiseOrValue<string> | null, tokenAmounts?: null, lpTokenSupply?: null): RemoveLiquidityEventFilter;
        RemoveLiquidity(provider?: PromiseOrValue<string> | null, tokenAmounts?: null, lpTokenSupply?: null): RemoveLiquidityEventFilter;
        'RemoveLiquidityImbalance(address,uint256[2],uint256[2],uint256,uint256)'(provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null): RemoveLiquidityImbalanceEventFilter;
        RemoveLiquidityImbalance(provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null): RemoveLiquidityImbalanceEventFilter;
        'RemoveLiquidityOne(address,uint256,uint256,address,uint256)'(provider?: PromiseOrValue<string> | null, lpTokenAmount?: null, lpTokenSupply?: null, tokenReceived?: null, receivedAmount?: null): RemoveLiquidityOneEventFilter;
        RemoveLiquidityOne(provider?: PromiseOrValue<string> | null, lpTokenAmount?: null, lpTokenSupply?: null, tokenReceived?: null, receivedAmount?: null): RemoveLiquidityOneEventFilter;
        'StopRampA(uint256,uint256)'(currentA?: null, time?: null): StopRampAEventFilter;
        StopRampA(currentA?: null, time?: null): StopRampAEventFilter;
        'Swap(address,address,uint256,uint256)'(buyer?: PromiseOrValue<string> | null, tokenSold?: null, amountSold?: null, amountReceived?: null): SwapEventFilter;
        Swap(buyer?: PromiseOrValue<string> | null, tokenSold?: null, amountSold?: null, amountReceived?: null): SwapEventFilter;
    };
    estimateGas: {
        addLiquidity(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _minToMint: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        amplificationParams(overrides?: CallOverrides): Promise<BigNumber>;
        calculateRemoveLiquidity(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        calculateRemoveLiquidityOneToken(tokenAmount: PromiseOrValue<BigNumberish>, tokenReceive: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        calculateSwap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        calculateTokenAmount(amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        feeParams(overrides?: CallOverrides): Promise<BigNumber>;
        getA(overrides?: CallOverrides): Promise<BigNumber>;
        getAPrecise(overrides?: CallOverrides): Promise<BigNumber>;
        getToken0(overrides?: CallOverrides): Promise<BigNumber>;
        getToken0Balance(overrides?: CallOverrides): Promise<BigNumber>;
        getToken1(overrides?: CallOverrides): Promise<BigNumber>;
        getToken1Balance(overrides?: CallOverrides): Promise<BigNumber>;
        getVirtualPrice(overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_token0: PromiseOrValue<string>, _token1: PromiseOrValue<string>, lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, lpTokenTargetAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        lpToken(overrides?: CallOverrides): Promise<BigNumber>;
        multicall(_data: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        rampA(futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeLiquidity(amount: PromiseOrValue<BigNumberish>, minAmounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeLiquidityImbalance(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _maxBurnAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeLiquidityOneToken(_tokenAmount: PromiseOrValue<BigNumberish>, _tokenReceive: PromiseOrValue<string>, _minAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        selfPermit(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        selfPermitIfNecessary(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setAdminFee(newAdminFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setSwapFee(newSwapFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stopRampA(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        swap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, _minDy: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferOwnership(_newOwnner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        addLiquidity(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _minToMint: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        amplificationParams(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calculateRemoveLiquidity(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calculateRemoveLiquidityOneToken(tokenAmount: PromiseOrValue<BigNumberish>, tokenReceive: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calculateSwap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calculateTokenAmount(amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        feeParams(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getA(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAPrecise(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getToken0(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getToken0Balance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getToken1(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getToken1Balance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getVirtualPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(_token0: PromiseOrValue<string>, _token1: PromiseOrValue<string>, lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, lpTokenTargetAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        lpToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        multicall(_data: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rampA(futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeLiquidity(amount: PromiseOrValue<BigNumberish>, minAmounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeLiquidityImbalance(_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], _maxBurnAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeLiquidityOneToken(_tokenAmount: PromiseOrValue<BigNumberish>, _tokenReceive: PromiseOrValue<string>, _minAmount: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        selfPermit(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        selfPermitIfNecessary(_token: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setAdminFee(newAdminFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setSwapFee(newSwapFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stopRampA(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        swap(_tokenFrom: PromiseOrValue<string>, _dx: PromiseOrValue<BigNumberish>, _minDy: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferOwnership(_newOwnner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
