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 CurveChildLiquidityGaugeFactoryInterface extends utils.Interface {
    functions: {
        'mint(address)': FunctionFragment;
        'mint_many(address[32])': FunctionFragment;
        'deploy_gauge(address,bytes32)': FunctionFragment;
        'deploy_gauge(address,bytes32,address)': FunctionFragment;
        'set_voting_escrow(address)': FunctionFragment;
        'set_implementation(address)': FunctionFragment;
        'set_mirrored(address,bool)': FunctionFragment;
        'set_call_proxy(address)': FunctionFragment;
        'commit_transfer_ownership(address)': FunctionFragment;
        'accept_transfer_ownership()': FunctionFragment;
        'is_valid_gauge(address)': FunctionFragment;
        'is_mirrored(address)': FunctionFragment;
        'last_request(address)': FunctionFragment;
        'get_implementation()': FunctionFragment;
        'voting_escrow()': FunctionFragment;
        'owner()': FunctionFragment;
        'future_owner()': FunctionFragment;
        'call_proxy()': FunctionFragment;
        'gauge_data(address)': FunctionFragment;
        'minted(address,address)': FunctionFragment;
        'get_gauge_from_lp_token(address)': FunctionFragment;
        'get_gauge_count()': FunctionFragment;
        'get_gauge(uint256)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'mint' | 'mint_many' | 'deploy_gauge(address,bytes32)' | 'deploy_gauge(address,bytes32,address)' | 'set_voting_escrow' | 'set_implementation' | 'set_mirrored' | 'set_call_proxy' | 'commit_transfer_ownership' | 'accept_transfer_ownership' | 'is_valid_gauge' | 'is_mirrored' | 'last_request' | 'get_implementation' | 'voting_escrow' | 'owner' | 'future_owner' | 'call_proxy' | 'gauge_data' | 'minted' | 'get_gauge_from_lp_token' | 'get_gauge_count' | 'get_gauge'): FunctionFragment;
    encodeFunctionData(functionFragment: 'mint', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'mint_many', values: [PromiseOrValue<string>[]]): string;
    encodeFunctionData(functionFragment: 'deploy_gauge(address,bytes32)', values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'deploy_gauge(address,bytes32,address)', values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'set_voting_escrow', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'set_implementation', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'set_mirrored', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'set_call_proxy', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'commit_transfer_ownership', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'accept_transfer_ownership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'is_valid_gauge', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'is_mirrored', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'last_request', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'get_implementation', values?: undefined): string;
    encodeFunctionData(functionFragment: 'voting_escrow', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'future_owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'call_proxy', values?: undefined): string;
    encodeFunctionData(functionFragment: 'gauge_data', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'minted', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'get_gauge_from_lp_token', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'get_gauge_count', values?: undefined): string;
    encodeFunctionData(functionFragment: 'get_gauge', values: [PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: 'mint', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mint_many', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'deploy_gauge(address,bytes32)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'deploy_gauge(address,bytes32,address)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'set_voting_escrow', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'set_implementation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'set_mirrored', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'set_call_proxy', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'commit_transfer_ownership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'accept_transfer_ownership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'is_valid_gauge', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'is_mirrored', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'last_request', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'get_implementation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'voting_escrow', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'future_owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'call_proxy', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'gauge_data', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'minted', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'get_gauge_from_lp_token', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'get_gauge_count', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'get_gauge', data: BytesLike): Result;
    events: {
        'DeployedGauge(address,address,address,bytes32,address)': EventFragment;
        'Minted(address,address,uint256)': EventFragment;
        'UpdateImplementation(address,address)': EventFragment;
        'UpdateVotingEscrow(address,address)': EventFragment;
        'UpdateCallProxy(address,address)': EventFragment;
        'UpdateMirrored(address,bool)': EventFragment;
        'TransferOwnership(address,address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'DeployedGauge'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Minted'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'UpdateImplementation'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'UpdateVotingEscrow'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'UpdateCallProxy'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'UpdateMirrored'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TransferOwnership'): EventFragment;
}
export interface DeployedGaugeEventObject {
    _implementation: string;
    _lp_token: string;
    _deployer: string;
    _salt: string;
    _gauge: string;
}
export declare type DeployedGaugeEvent = TypedEvent<[string, string, string, string, string], DeployedGaugeEventObject>;
export declare type DeployedGaugeEventFilter = TypedEventFilter<DeployedGaugeEvent>;
export interface MintedEventObject {
    _user: string;
    _gauge: string;
    _new_total: BigNumber;
}
export declare type MintedEvent = TypedEvent<[string, string, BigNumber], MintedEventObject>;
export declare type MintedEventFilter = TypedEventFilter<MintedEvent>;
export interface UpdateImplementationEventObject {
    _old_implementation: string;
    _new_implementation: string;
}
export declare type UpdateImplementationEvent = TypedEvent<[string, string], UpdateImplementationEventObject>;
export declare type UpdateImplementationEventFilter = TypedEventFilter<UpdateImplementationEvent>;
export interface UpdateVotingEscrowEventObject {
    _old_voting_escrow: string;
    _new_voting_escrow: string;
}
export declare type UpdateVotingEscrowEvent = TypedEvent<[string, string], UpdateVotingEscrowEventObject>;
export declare type UpdateVotingEscrowEventFilter = TypedEventFilter<UpdateVotingEscrowEvent>;
export interface UpdateCallProxyEventObject {
    _old_call_proxy: string;
    _new_call_proxy: string;
}
export declare type UpdateCallProxyEvent = TypedEvent<[string, string], UpdateCallProxyEventObject>;
export declare type UpdateCallProxyEventFilter = TypedEventFilter<UpdateCallProxyEvent>;
export interface UpdateMirroredEventObject {
    _gauge: string;
    _mirrored: boolean;
}
export declare type UpdateMirroredEvent = TypedEvent<[string, boolean], UpdateMirroredEventObject>;
export declare type UpdateMirroredEventFilter = TypedEventFilter<UpdateMirroredEvent>;
export interface TransferOwnershipEventObject {
    _old_owner: string;
    _new_owner: string;
}
export declare type TransferOwnershipEvent = TypedEvent<[string, string], TransferOwnershipEventObject>;
export declare type TransferOwnershipEventFilter = TypedEventFilter<TransferOwnershipEvent>;
export interface CurveChildLiquidityGaugeFactory extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: CurveChildLiquidityGaugeFactoryInterface;
    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: {
        mint(_gauge: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        mint_many(_gauges: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'deploy_gauge(address,bytes32)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'deploy_gauge(address,bytes32,address)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, _manager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        set_voting_escrow(_voting_escrow: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        set_implementation(_implementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        set_mirrored(_gauge: PromiseOrValue<string>, _mirrored: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        set_call_proxy(_new_call_proxy: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        commit_transfer_ownership(_future_owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        accept_transfer_ownership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        is_valid_gauge(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        is_mirrored(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        last_request(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        get_implementation(overrides?: CallOverrides): Promise<[string]>;
        voting_escrow(overrides?: CallOverrides): Promise<[string]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        future_owner(overrides?: CallOverrides): Promise<[string]>;
        call_proxy(overrides?: CallOverrides): Promise<[string]>;
        gauge_data(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        minted(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        get_gauge_from_lp_token(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        get_gauge_count(overrides?: CallOverrides): Promise<[BigNumber]>;
        get_gauge(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
    };
    mint(_gauge: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    mint_many(_gauges: PromiseOrValue<string>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'deploy_gauge(address,bytes32)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'deploy_gauge(address,bytes32,address)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, _manager: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    set_voting_escrow(_voting_escrow: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    set_implementation(_implementation: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    set_mirrored(_gauge: PromiseOrValue<string>, _mirrored: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    set_call_proxy(_new_call_proxy: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    commit_transfer_ownership(_future_owner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    accept_transfer_ownership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    is_valid_gauge(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    is_mirrored(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    last_request(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    get_implementation(overrides?: CallOverrides): Promise<string>;
    voting_escrow(overrides?: CallOverrides): Promise<string>;
    owner(overrides?: CallOverrides): Promise<string>;
    future_owner(overrides?: CallOverrides): Promise<string>;
    call_proxy(overrides?: CallOverrides): Promise<string>;
    gauge_data(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    minted(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    get_gauge_from_lp_token(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    get_gauge_count(overrides?: CallOverrides): Promise<BigNumber>;
    get_gauge(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    callStatic: {
        mint(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        mint_many(_gauges: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
        'deploy_gauge(address,bytes32)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
        'deploy_gauge(address,bytes32,address)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, _manager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        set_voting_escrow(_voting_escrow: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        set_implementation(_implementation: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        set_mirrored(_gauge: PromiseOrValue<string>, _mirrored: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        set_call_proxy(_new_call_proxy: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        commit_transfer_ownership(_future_owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        accept_transfer_ownership(overrides?: CallOverrides): Promise<void>;
        is_valid_gauge(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        is_mirrored(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        last_request(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        get_implementation(overrides?: CallOverrides): Promise<string>;
        voting_escrow(overrides?: CallOverrides): Promise<string>;
        owner(overrides?: CallOverrides): Promise<string>;
        future_owner(overrides?: CallOverrides): Promise<string>;
        call_proxy(overrides?: CallOverrides): Promise<string>;
        gauge_data(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        minted(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        get_gauge_from_lp_token(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        get_gauge_count(overrides?: CallOverrides): Promise<BigNumber>;
        get_gauge(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    };
    filters: {
        'DeployedGauge(address,address,address,bytes32,address)'(_implementation?: PromiseOrValue<string> | null, _lp_token?: PromiseOrValue<string> | null, _deployer?: PromiseOrValue<string> | null, _salt?: null, _gauge?: null): DeployedGaugeEventFilter;
        DeployedGauge(_implementation?: PromiseOrValue<string> | null, _lp_token?: PromiseOrValue<string> | null, _deployer?: PromiseOrValue<string> | null, _salt?: null, _gauge?: null): DeployedGaugeEventFilter;
        'Minted(address,address,uint256)'(_user?: PromiseOrValue<string> | null, _gauge?: PromiseOrValue<string> | null, _new_total?: null): MintedEventFilter;
        Minted(_user?: PromiseOrValue<string> | null, _gauge?: PromiseOrValue<string> | null, _new_total?: null): MintedEventFilter;
        'UpdateImplementation(address,address)'(_old_implementation?: null, _new_implementation?: null): UpdateImplementationEventFilter;
        UpdateImplementation(_old_implementation?: null, _new_implementation?: null): UpdateImplementationEventFilter;
        'UpdateVotingEscrow(address,address)'(_old_voting_escrow?: null, _new_voting_escrow?: null): UpdateVotingEscrowEventFilter;
        UpdateVotingEscrow(_old_voting_escrow?: null, _new_voting_escrow?: null): UpdateVotingEscrowEventFilter;
        'UpdateCallProxy(address,address)'(_old_call_proxy?: null, _new_call_proxy?: null): UpdateCallProxyEventFilter;
        UpdateCallProxy(_old_call_proxy?: null, _new_call_proxy?: null): UpdateCallProxyEventFilter;
        'UpdateMirrored(address,bool)'(_gauge?: PromiseOrValue<string> | null, _mirrored?: null): UpdateMirroredEventFilter;
        UpdateMirrored(_gauge?: PromiseOrValue<string> | null, _mirrored?: null): UpdateMirroredEventFilter;
        'TransferOwnership(address,address)'(_old_owner?: null, _new_owner?: null): TransferOwnershipEventFilter;
        TransferOwnership(_old_owner?: null, _new_owner?: null): TransferOwnershipEventFilter;
    };
    estimateGas: {
        mint(_gauge: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        mint_many(_gauges: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'deploy_gauge(address,bytes32)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'deploy_gauge(address,bytes32,address)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, _manager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        set_voting_escrow(_voting_escrow: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        set_implementation(_implementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        set_mirrored(_gauge: PromiseOrValue<string>, _mirrored: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        set_call_proxy(_new_call_proxy: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        commit_transfer_ownership(_future_owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        accept_transfer_ownership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        is_valid_gauge(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        is_mirrored(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        last_request(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        get_implementation(overrides?: CallOverrides): Promise<BigNumber>;
        voting_escrow(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        future_owner(overrides?: CallOverrides): Promise<BigNumber>;
        call_proxy(overrides?: CallOverrides): Promise<BigNumber>;
        gauge_data(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        minted(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        get_gauge_from_lp_token(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        get_gauge_count(overrides?: CallOverrides): Promise<BigNumber>;
        get_gauge(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        mint(_gauge: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        mint_many(_gauges: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'deploy_gauge(address,bytes32)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'deploy_gauge(address,bytes32,address)'(_lp_token: PromiseOrValue<string>, _salt: PromiseOrValue<BytesLike>, _manager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        set_voting_escrow(_voting_escrow: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        set_implementation(_implementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        set_mirrored(_gauge: PromiseOrValue<string>, _mirrored: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        set_call_proxy(_new_call_proxy: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        commit_transfer_ownership(_future_owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        accept_transfer_ownership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        is_valid_gauge(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        is_mirrored(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        last_request(_gauge: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        get_implementation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        voting_escrow(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        future_owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        call_proxy(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        gauge_data(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        minted(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        get_gauge_from_lp_token(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        get_gauge_count(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        get_gauge(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
