import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 MyceliumMlpManagerInterface extends utils.Interface {
    functions: {
        'MAX_COOLDOWN_DURATION()': FunctionFragment;
        'PRICE_PRECISION()': FunctionFragment;
        'USDG_DECIMALS()': FunctionFragment;
        'addLiquidity(address,uint256,uint256,uint256)': FunctionFragment;
        'addLiquidityForAccount(address,address,address,uint256,uint256,uint256)': FunctionFragment;
        'aumAddition()': FunctionFragment;
        'aumDeduction()': FunctionFragment;
        'cooldownDuration()': FunctionFragment;
        'getAum(bool)': FunctionFragment;
        'getAumInUsdg(bool)': FunctionFragment;
        'getAums()': FunctionFragment;
        'gov()': FunctionFragment;
        'inPrivateMode()': FunctionFragment;
        'isHandler(address)': FunctionFragment;
        'lastAddedAt(address)': FunctionFragment;
        'mlp()': FunctionFragment;
        'removeLiquidity(address,uint256,uint256,address)': FunctionFragment;
        'removeLiquidityForAccount(address,address,uint256,uint256,address)': FunctionFragment;
        'setAumAdjustment(uint256,uint256)': FunctionFragment;
        'setCooldownDuration(uint256)': FunctionFragment;
        'setGov(address)': FunctionFragment;
        'setHandler(address,bool)': FunctionFragment;
        'setInPrivateMode(bool)': FunctionFragment;
        'usdg()': FunctionFragment;
        'vault()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'MAX_COOLDOWN_DURATION' | 'PRICE_PRECISION' | 'USDG_DECIMALS' | 'addLiquidity' | 'addLiquidityForAccount' | 'aumAddition' | 'aumDeduction' | 'cooldownDuration' | 'getAum' | 'getAumInUsdg' | 'getAums' | 'gov' | 'inPrivateMode' | 'isHandler' | 'lastAddedAt' | 'mlp' | 'removeLiquidity' | 'removeLiquidityForAccount' | 'setAumAdjustment' | 'setCooldownDuration' | 'setGov' | 'setHandler' | 'setInPrivateMode' | 'usdg' | 'vault'): FunctionFragment;
    encodeFunctionData(functionFragment: 'MAX_COOLDOWN_DURATION', values?: undefined): string;
    encodeFunctionData(functionFragment: 'PRICE_PRECISION', values?: undefined): string;
    encodeFunctionData(functionFragment: 'USDG_DECIMALS', values?: undefined): string;
    encodeFunctionData(functionFragment: 'addLiquidity', values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'addLiquidityForAccount', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'aumAddition', values?: undefined): string;
    encodeFunctionData(functionFragment: 'aumDeduction', values?: undefined): string;
    encodeFunctionData(functionFragment: 'cooldownDuration', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getAum', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'getAumInUsdg', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'getAums', values?: undefined): string;
    encodeFunctionData(functionFragment: 'gov', values?: undefined): string;
    encodeFunctionData(functionFragment: 'inPrivateMode', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isHandler', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'lastAddedAt', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'mlp', values?: undefined): string;
    encodeFunctionData(functionFragment: 'removeLiquidity', values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: 'removeLiquidityForAccount', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: 'setAumAdjustment', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setCooldownDuration', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setGov', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setHandler', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setInPrivateMode', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'usdg', values?: undefined): string;
    encodeFunctionData(functionFragment: 'vault', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'MAX_COOLDOWN_DURATION', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'PRICE_PRECISION', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'USDG_DECIMALS', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addLiquidityForAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'aumAddition', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'aumDeduction', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cooldownDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAum', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAumInUsdg', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAums', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'gov', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'inPrivateMode', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isHandler', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastAddedAt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mlp', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeLiquidityForAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setAumAdjustment', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setCooldownDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setGov', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setHandler', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setInPrivateMode', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'usdg', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vault', data: BytesLike): Result;
    events: {
        'AddLiquidity(address,address,uint256,uint256,uint256,uint256,uint256)': EventFragment;
        'RemoveLiquidity(address,address,uint256,uint256,uint256,uint256,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AddLiquidity'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoveLiquidity'): EventFragment;
}
export interface AddLiquidityEventObject {
    account: string;
    token: string;
    amount: BigNumber;
    aumInUsdg: BigNumber;
    mlpSupply: BigNumber;
    usdgAmount: BigNumber;
    mintAmount: BigNumber;
}
export declare type AddLiquidityEvent = TypedEvent<[
    string,
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber
], AddLiquidityEventObject>;
export declare type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>;
export interface RemoveLiquidityEventObject {
    account: string;
    token: string;
    mlpAmount: BigNumber;
    aumInUsdg: BigNumber;
    mlpSupply: BigNumber;
    usdgAmount: BigNumber;
    amountOut: BigNumber;
}
export declare type RemoveLiquidityEvent = TypedEvent<[
    string,
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber
], RemoveLiquidityEventObject>;
export declare type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>;
export interface MyceliumMlpManager extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: MyceliumMlpManagerInterface;
    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: {
        MAX_COOLDOWN_DURATION(overrides?: CallOverrides): Promise<[BigNumber]>;
        PRICE_PRECISION(overrides?: CallOverrides): Promise<[BigNumber]>;
        USDG_DECIMALS(overrides?: CallOverrides): Promise<[BigNumber]>;
        addLiquidity(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        addLiquidityForAccount(_fundingAccount: PromiseOrValue<string>, _account: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        aumAddition(overrides?: CallOverrides): Promise<[BigNumber]>;
        aumDeduction(overrides?: CallOverrides): Promise<[BigNumber]>;
        cooldownDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
        getAum(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getAumInUsdg(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getAums(overrides?: CallOverrides): Promise<[BigNumber[]]>;
        gov(overrides?: CallOverrides): Promise<[string]>;
        inPrivateMode(overrides?: CallOverrides): Promise<[boolean]>;
        isHandler(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        lastAddedAt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        mlp(overrides?: CallOverrides): Promise<[string]>;
        removeLiquidity(_tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeLiquidityForAccount(_account: PromiseOrValue<string>, _tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setAumAdjustment(_aumAddition: PromiseOrValue<BigNumberish>, _aumDeduction: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setCooldownDuration(_cooldownDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setHandler(_handler: PromiseOrValue<string>, _isActive: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setInPrivateMode(_inPrivateMode: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        usdg(overrides?: CallOverrides): Promise<[string]>;
        vault(overrides?: CallOverrides): Promise<[string]>;
    };
    MAX_COOLDOWN_DURATION(overrides?: CallOverrides): Promise<BigNumber>;
    PRICE_PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
    USDG_DECIMALS(overrides?: CallOverrides): Promise<BigNumber>;
    addLiquidity(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    addLiquidityForAccount(_fundingAccount: PromiseOrValue<string>, _account: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    aumAddition(overrides?: CallOverrides): Promise<BigNumber>;
    aumDeduction(overrides?: CallOverrides): Promise<BigNumber>;
    cooldownDuration(overrides?: CallOverrides): Promise<BigNumber>;
    getAum(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
    getAumInUsdg(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
    getAums(overrides?: CallOverrides): Promise<BigNumber[]>;
    gov(overrides?: CallOverrides): Promise<string>;
    inPrivateMode(overrides?: CallOverrides): Promise<boolean>;
    isHandler(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    lastAddedAt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    mlp(overrides?: CallOverrides): Promise<string>;
    removeLiquidity(_tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeLiquidityForAccount(_account: PromiseOrValue<string>, _tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setAumAdjustment(_aumAddition: PromiseOrValue<BigNumberish>, _aumDeduction: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setCooldownDuration(_cooldownDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setHandler(_handler: PromiseOrValue<string>, _isActive: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setInPrivateMode(_inPrivateMode: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    usdg(overrides?: CallOverrides): Promise<string>;
    vault(overrides?: CallOverrides): Promise<string>;
    callStatic: {
        MAX_COOLDOWN_DURATION(overrides?: CallOverrides): Promise<BigNumber>;
        PRICE_PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
        USDG_DECIMALS(overrides?: CallOverrides): Promise<BigNumber>;
        addLiquidity(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        addLiquidityForAccount(_fundingAccount: PromiseOrValue<string>, _account: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        aumAddition(overrides?: CallOverrides): Promise<BigNumber>;
        aumDeduction(overrides?: CallOverrides): Promise<BigNumber>;
        cooldownDuration(overrides?: CallOverrides): Promise<BigNumber>;
        getAum(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        getAumInUsdg(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        getAums(overrides?: CallOverrides): Promise<BigNumber[]>;
        gov(overrides?: CallOverrides): Promise<string>;
        inPrivateMode(overrides?: CallOverrides): Promise<boolean>;
        isHandler(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        lastAddedAt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        mlp(overrides?: CallOverrides): Promise<string>;
        removeLiquidity(_tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        removeLiquidityForAccount(_account: PromiseOrValue<string>, _tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        setAumAdjustment(_aumAddition: PromiseOrValue<BigNumberish>, _aumDeduction: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setCooldownDuration(_cooldownDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setGov(_gov: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setHandler(_handler: PromiseOrValue<string>, _isActive: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setInPrivateMode(_inPrivateMode: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        usdg(overrides?: CallOverrides): Promise<string>;
        vault(overrides?: CallOverrides): Promise<string>;
    };
    filters: {
        'AddLiquidity(address,address,uint256,uint256,uint256,uint256,uint256)'(account?: null, token?: null, amount?: null, aumInUsdg?: null, mlpSupply?: null, usdgAmount?: null, mintAmount?: null): AddLiquidityEventFilter;
        AddLiquidity(account?: null, token?: null, amount?: null, aumInUsdg?: null, mlpSupply?: null, usdgAmount?: null, mintAmount?: null): AddLiquidityEventFilter;
        'RemoveLiquidity(address,address,uint256,uint256,uint256,uint256,uint256)'(account?: null, token?: null, mlpAmount?: null, aumInUsdg?: null, mlpSupply?: null, usdgAmount?: null, amountOut?: null): RemoveLiquidityEventFilter;
        RemoveLiquidity(account?: null, token?: null, mlpAmount?: null, aumInUsdg?: null, mlpSupply?: null, usdgAmount?: null, amountOut?: null): RemoveLiquidityEventFilter;
    };
    estimateGas: {
        MAX_COOLDOWN_DURATION(overrides?: CallOverrides): Promise<BigNumber>;
        PRICE_PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
        USDG_DECIMALS(overrides?: CallOverrides): Promise<BigNumber>;
        addLiquidity(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        addLiquidityForAccount(_fundingAccount: PromiseOrValue<string>, _account: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        aumAddition(overrides?: CallOverrides): Promise<BigNumber>;
        aumDeduction(overrides?: CallOverrides): Promise<BigNumber>;
        cooldownDuration(overrides?: CallOverrides): Promise<BigNumber>;
        getAum(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        getAumInUsdg(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        getAums(overrides?: CallOverrides): Promise<BigNumber>;
        gov(overrides?: CallOverrides): Promise<BigNumber>;
        inPrivateMode(overrides?: CallOverrides): Promise<BigNumber>;
        isHandler(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        lastAddedAt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        mlp(overrides?: CallOverrides): Promise<BigNumber>;
        removeLiquidity(_tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeLiquidityForAccount(_account: PromiseOrValue<string>, _tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setAumAdjustment(_aumAddition: PromiseOrValue<BigNumberish>, _aumDeduction: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setCooldownDuration(_cooldownDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setHandler(_handler: PromiseOrValue<string>, _isActive: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setInPrivateMode(_inPrivateMode: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        usdg(overrides?: CallOverrides): Promise<BigNumber>;
        vault(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        MAX_COOLDOWN_DURATION(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PRICE_PRECISION(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        USDG_DECIMALS(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        addLiquidity(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        addLiquidityForAccount(_fundingAccount: PromiseOrValue<string>, _account: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _minUsdg: PromiseOrValue<BigNumberish>, _minMlp: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        aumAddition(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        aumDeduction(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cooldownDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAum(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAumInUsdg(maximise: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAums(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        gov(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        inPrivateMode(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isHandler(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastAddedAt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mlp(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        removeLiquidity(_tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeLiquidityForAccount(_account: PromiseOrValue<string>, _tokenOut: PromiseOrValue<string>, _mlpAmount: PromiseOrValue<BigNumberish>, _minOut: PromiseOrValue<BigNumberish>, _receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setAumAdjustment(_aumAddition: PromiseOrValue<BigNumberish>, _aumDeduction: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setCooldownDuration(_cooldownDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setHandler(_handler: PromiseOrValue<string>, _isActive: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setInPrivateMode(_inPrivateMode: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        usdg(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        vault(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
