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 ConvexBoosterSidechainInterface extends utils.Interface {
    functions: {
        'FEE_DENOMINATOR()': FunctionFragment;
        'MaxFees()': FunctionFragment;
        'acceptPendingOwner()': FunctionFragment;
        'activeMap(address)': FunctionFragment;
        'addPool(address,address,address)': FunctionFragment;
        'calculatePlatformFees(uint256)': FunctionFragment;
        'claimCrv(uint256,address)': FunctionFragment;
        'deposit(uint256,uint256)': FunctionFragment;
        'depositAll(uint256)': FunctionFragment;
        'factoryCrv(address)': FunctionFragment;
        'feeDeposit()': FunctionFragment;
        'fees()': FunctionFragment;
        'isShutdown()': FunctionFragment;
        'owner()': FunctionFragment;
        'pendingOwner()': FunctionFragment;
        'poolInfo(uint256)': FunctionFragment;
        'poolLength()': FunctionFragment;
        'poolManager()': FunctionFragment;
        'rescueManager()': FunctionFragment;
        'rescueToken(address,address)': FunctionFragment;
        'rewardFactory()': FunctionFragment;
        'rewardManager()': FunctionFragment;
        'setFactoryCrv(address,address)': FunctionFragment;
        'setFeeDeposit(address)': FunctionFragment;
        'setFees(uint256)': FunctionFragment;
        'setPendingOwner(address)': FunctionFragment;
        'setPoolManager(address)': FunctionFragment;
        'setRescueManager(address)': FunctionFragment;
        'setRewardFactory(address)': FunctionFragment;
        'setRewardManager(address)': FunctionFragment;
        'shutdownBalances(uint256)': FunctionFragment;
        'shutdownPool(uint256)': FunctionFragment;
        'shutdownSystem()': FunctionFragment;
        'staker()': FunctionFragment;
        'withdrawTo(uint256,uint256,address)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'FEE_DENOMINATOR' | 'MaxFees' | 'acceptPendingOwner' | 'activeMap' | 'addPool' | 'calculatePlatformFees' | 'claimCrv' | 'deposit' | 'depositAll' | 'factoryCrv' | 'feeDeposit' | 'fees' | 'isShutdown' | 'owner' | 'pendingOwner' | 'poolInfo' | 'poolLength' | 'poolManager' | 'rescueManager' | 'rescueToken' | 'rewardFactory' | 'rewardManager' | 'setFactoryCrv' | 'setFeeDeposit' | 'setFees' | 'setPendingOwner' | 'setPoolManager' | 'setRescueManager' | 'setRewardFactory' | 'setRewardManager' | 'shutdownBalances' | 'shutdownPool' | 'shutdownSystem' | 'staker' | 'withdrawTo'): FunctionFragment;
    encodeFunctionData(functionFragment: 'FEE_DENOMINATOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MaxFees', values?: undefined): string;
    encodeFunctionData(functionFragment: 'acceptPendingOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'activeMap', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'addPool', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'calculatePlatformFees', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'claimCrv', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'deposit', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'depositAll', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'factoryCrv', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'feeDeposit', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fees', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isShutdown', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'poolInfo', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'poolLength', values?: undefined): string;
    encodeFunctionData(functionFragment: 'poolManager', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rescueManager', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rescueToken', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rewardFactory', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rewardManager', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setFactoryCrv', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setFeeDeposit', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setFees', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setPendingOwner', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setPoolManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setRescueManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setRewardFactory', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setRewardManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'shutdownBalances', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'shutdownPool', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'shutdownSystem', values?: undefined): string;
    encodeFunctionData(functionFragment: 'staker', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawTo', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    decodeFunctionResult(functionFragment: 'FEE_DENOMINATOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MaxFees', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'acceptPendingOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'activeMap', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculatePlatformFees', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimCrv', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositAll', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'factoryCrv', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'feeDeposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fees', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isShutdown', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'poolInfo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'poolLength', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'poolManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rescueManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rescueToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardFactory', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFactoryCrv', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFeeDeposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFees', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPendingOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPoolManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setRescueManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setRewardFactory', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setRewardManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'shutdownBalances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'shutdownPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'shutdownSystem', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'staker', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawTo', data: BytesLike): Result;
    events: {
        'CrvFactorySet(address,address)': EventFragment;
        'Deposited(address,uint256,uint256)': EventFragment;
        'OwnerChanged(address)': EventFragment;
        'SetPendingOwner(address)': EventFragment;
        'Withdrawn(address,uint256,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'CrvFactorySet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Deposited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnerChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetPendingOwner'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Withdrawn'): EventFragment;
}
export interface CrvFactorySetEventObject {
    _factory: string;
    _crv: string;
}
export declare type CrvFactorySetEvent = TypedEvent<[string, string], CrvFactorySetEventObject>;
export declare type CrvFactorySetEventFilter = TypedEventFilter<CrvFactorySetEvent>;
export interface DepositedEventObject {
    user: string;
    poolid: BigNumber;
    amount: BigNumber;
}
export declare type DepositedEvent = TypedEvent<[string, BigNumber, BigNumber], DepositedEventObject>;
export declare type DepositedEventFilter = TypedEventFilter<DepositedEvent>;
export interface OwnerChangedEventObject {
    _address: string;
}
export declare type OwnerChangedEvent = TypedEvent<[string], OwnerChangedEventObject>;
export declare type OwnerChangedEventFilter = TypedEventFilter<OwnerChangedEvent>;
export interface SetPendingOwnerEventObject {
    _address: string;
}
export declare type SetPendingOwnerEvent = TypedEvent<[string], SetPendingOwnerEventObject>;
export declare type SetPendingOwnerEventFilter = TypedEventFilter<SetPendingOwnerEvent>;
export interface WithdrawnEventObject {
    user: string;
    poolid: BigNumber;
    amount: BigNumber;
}
export declare type WithdrawnEvent = TypedEvent<[string, BigNumber, BigNumber], WithdrawnEventObject>;
export declare type WithdrawnEventFilter = TypedEventFilter<WithdrawnEvent>;
export interface ConvexBoosterSidechain extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: ConvexBoosterSidechainInterface;
    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: {
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        MaxFees(overrides?: CallOverrides): Promise<[BigNumber]>;
        acceptPendingOwner(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        activeMap(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        addPool(_lptoken: PromiseOrValue<string>, _gauge: PromiseOrValue<string>, _factory: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        calculatePlatformFees(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        claimCrv(_pid: PromiseOrValue<BigNumberish>, _gauge: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        deposit(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        depositAll(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        factoryCrv(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        feeDeposit(overrides?: CallOverrides): Promise<[string]>;
        fees(overrides?: CallOverrides): Promise<[BigNumber]>;
        isShutdown(overrides?: CallOverrides): Promise<[boolean]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        pendingOwner(overrides?: CallOverrides): Promise<[string]>;
        poolInfo(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            boolean,
            string
        ] & {
            lptoken: string;
            gauge: string;
            rewards: string;
            shutdown: boolean;
            factory: string;
        }>;
        poolLength(overrides?: CallOverrides): Promise<[BigNumber]>;
        poolManager(overrides?: CallOverrides): Promise<[string]>;
        rescueManager(overrides?: CallOverrides): Promise<[string]>;
        rescueToken(_token: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        rewardFactory(overrides?: CallOverrides): Promise<[string]>;
        rewardManager(overrides?: CallOverrides): Promise<[string]>;
        setFactoryCrv(_factory: PromiseOrValue<string>, _crv: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setFeeDeposit(_deposit: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setFees(_platformFees: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPendingOwner(_po: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPoolManager(_poolM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setRescueManager(_rescueM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setRewardFactory(_rfactory: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setRewardManager(_rewardM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        shutdownBalances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        shutdownPool(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        shutdownSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        staker(overrides?: CallOverrides): Promise<[string]>;
        withdrawTo(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    FEE_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
    MaxFees(overrides?: CallOverrides): Promise<BigNumber>;
    acceptPendingOwner(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    activeMap(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    addPool(_lptoken: PromiseOrValue<string>, _gauge: PromiseOrValue<string>, _factory: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    calculatePlatformFees(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    claimCrv(_pid: PromiseOrValue<BigNumberish>, _gauge: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    deposit(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    depositAll(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    factoryCrv(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    feeDeposit(overrides?: CallOverrides): Promise<string>;
    fees(overrides?: CallOverrides): Promise<BigNumber>;
    isShutdown(overrides?: CallOverrides): Promise<boolean>;
    owner(overrides?: CallOverrides): Promise<string>;
    pendingOwner(overrides?: CallOverrides): Promise<string>;
    poolInfo(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        string,
        string,
        string,
        boolean,
        string
    ] & {
        lptoken: string;
        gauge: string;
        rewards: string;
        shutdown: boolean;
        factory: string;
    }>;
    poolLength(overrides?: CallOverrides): Promise<BigNumber>;
    poolManager(overrides?: CallOverrides): Promise<string>;
    rescueManager(overrides?: CallOverrides): Promise<string>;
    rescueToken(_token: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    rewardFactory(overrides?: CallOverrides): Promise<string>;
    rewardManager(overrides?: CallOverrides): Promise<string>;
    setFactoryCrv(_factory: PromiseOrValue<string>, _crv: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setFeeDeposit(_deposit: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setFees(_platformFees: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPendingOwner(_po: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPoolManager(_poolM: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setRescueManager(_rescueM: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setRewardFactory(_rfactory: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setRewardManager(_rewardM: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    shutdownBalances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    shutdownPool(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    shutdownSystem(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    staker(overrides?: CallOverrides): Promise<string>;
    withdrawTo(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        MaxFees(overrides?: CallOverrides): Promise<BigNumber>;
        acceptPendingOwner(overrides?: CallOverrides): Promise<void>;
        activeMap(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        addPool(_lptoken: PromiseOrValue<string>, _gauge: PromiseOrValue<string>, _factory: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        calculatePlatformFees(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        claimCrv(_pid: PromiseOrValue<BigNumberish>, _gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        deposit(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        depositAll(_pid: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        factoryCrv(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        feeDeposit(overrides?: CallOverrides): Promise<string>;
        fees(overrides?: CallOverrides): Promise<BigNumber>;
        isShutdown(overrides?: CallOverrides): Promise<boolean>;
        owner(overrides?: CallOverrides): Promise<string>;
        pendingOwner(overrides?: CallOverrides): Promise<string>;
        poolInfo(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            boolean,
            string
        ] & {
            lptoken: string;
            gauge: string;
            rewards: string;
            shutdown: boolean;
            factory: string;
        }>;
        poolLength(overrides?: CallOverrides): Promise<BigNumber>;
        poolManager(overrides?: CallOverrides): Promise<string>;
        rescueManager(overrides?: CallOverrides): Promise<string>;
        rescueToken(_token: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        rewardFactory(overrides?: CallOverrides): Promise<string>;
        rewardManager(overrides?: CallOverrides): Promise<string>;
        setFactoryCrv(_factory: PromiseOrValue<string>, _crv: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setFeeDeposit(_deposit: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setFees(_platformFees: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setPendingOwner(_po: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setPoolManager(_poolM: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setRescueManager(_rescueM: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setRewardFactory(_rfactory: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setRewardManager(_rewardM: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        shutdownBalances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        shutdownPool(_pid: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        shutdownSystem(overrides?: CallOverrides): Promise<void>;
        staker(overrides?: CallOverrides): Promise<string>;
        withdrawTo(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    };
    filters: {
        'CrvFactorySet(address,address)'(_factory?: PromiseOrValue<string> | null, _crv?: null): CrvFactorySetEventFilter;
        CrvFactorySet(_factory?: PromiseOrValue<string> | null, _crv?: null): CrvFactorySetEventFilter;
        'Deposited(address,uint256,uint256)'(user?: PromiseOrValue<string> | null, poolid?: PromiseOrValue<BigNumberish> | null, amount?: null): DepositedEventFilter;
        Deposited(user?: PromiseOrValue<string> | null, poolid?: PromiseOrValue<BigNumberish> | null, amount?: null): DepositedEventFilter;
        'OwnerChanged(address)'(_address?: PromiseOrValue<string> | null): OwnerChangedEventFilter;
        OwnerChanged(_address?: PromiseOrValue<string> | null): OwnerChangedEventFilter;
        'SetPendingOwner(address)'(_address?: PromiseOrValue<string> | null): SetPendingOwnerEventFilter;
        SetPendingOwner(_address?: PromiseOrValue<string> | null): SetPendingOwnerEventFilter;
        'Withdrawn(address,uint256,uint256)'(user?: PromiseOrValue<string> | null, poolid?: PromiseOrValue<BigNumberish> | null, amount?: null): WithdrawnEventFilter;
        Withdrawn(user?: PromiseOrValue<string> | null, poolid?: PromiseOrValue<BigNumberish> | null, amount?: null): WithdrawnEventFilter;
    };
    estimateGas: {
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        MaxFees(overrides?: CallOverrides): Promise<BigNumber>;
        acceptPendingOwner(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        activeMap(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        addPool(_lptoken: PromiseOrValue<string>, _gauge: PromiseOrValue<string>, _factory: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        calculatePlatformFees(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        claimCrv(_pid: PromiseOrValue<BigNumberish>, _gauge: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        deposit(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        depositAll(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        factoryCrv(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        feeDeposit(overrides?: CallOverrides): Promise<BigNumber>;
        fees(overrides?: CallOverrides): Promise<BigNumber>;
        isShutdown(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        pendingOwner(overrides?: CallOverrides): Promise<BigNumber>;
        poolInfo(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        poolLength(overrides?: CallOverrides): Promise<BigNumber>;
        poolManager(overrides?: CallOverrides): Promise<BigNumber>;
        rescueManager(overrides?: CallOverrides): Promise<BigNumber>;
        rescueToken(_token: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        rewardFactory(overrides?: CallOverrides): Promise<BigNumber>;
        rewardManager(overrides?: CallOverrides): Promise<BigNumber>;
        setFactoryCrv(_factory: PromiseOrValue<string>, _crv: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setFeeDeposit(_deposit: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setFees(_platformFees: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPendingOwner(_po: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPoolManager(_poolM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setRescueManager(_rescueM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setRewardFactory(_rfactory: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setRewardManager(_rewardM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        shutdownBalances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        shutdownPool(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        shutdownSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        staker(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawTo(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MaxFees(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        acceptPendingOwner(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        activeMap(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        addPool(_lptoken: PromiseOrValue<string>, _gauge: PromiseOrValue<string>, _factory: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        calculatePlatformFees(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        claimCrv(_pid: PromiseOrValue<BigNumberish>, _gauge: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        deposit(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        depositAll(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        factoryCrv(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        feeDeposit(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fees(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isShutdown(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        poolInfo(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        poolLength(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        poolManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rescueManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rescueToken(_token: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        rewardFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setFactoryCrv(_factory: PromiseOrValue<string>, _crv: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setFeeDeposit(_deposit: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setFees(_platformFees: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPendingOwner(_po: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPoolManager(_poolM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setRescueManager(_rescueM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setRewardFactory(_rfactory: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setRewardManager(_rewardM: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        shutdownBalances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        shutdownPool(_pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        shutdownSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        staker(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawTo(_pid: PromiseOrValue<BigNumberish>, _amount: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
