import type { BaseContract, BigNumber, 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 } from "./common";
export declare namespace IDAORegistry {
    type AccountStatusStruct = {
        groups: string[];
        isMember: boolean[];
    };
    type AccountStatusStructOutput = [string[], boolean[]] & {
        groups: string[];
        isMember: boolean[];
    };
    type RegistryEntryStruct = {
        name: string;
        address_: string;
    };
    type RegistryEntryStructOutput = [string, string] & {
        name: string;
        address_: string;
    };
}
export interface DAORegistryInterface extends utils.Interface {
    functions: {
        "DAO_REGISTRY_RESOURCE()": FunctionFragment;
        "__DAORegistry_init(address,address,string,string,string)": FunctionFragment;
        "addContract(string,address)": FunctionFragment;
        "addDeterministicProxy(string,bytes32,address,bytes)": FunctionFragment;
        "addPanel(string)": FunctionFragment;
        "addProxyContract(string,address)": FunctionFragment;
        "addProxyContractAndCall(string,address,bytes)": FunctionFragment;
        "checkPermission(address,string)": FunctionFragment;
        "daoURI()": FunctionFragment;
        "getAccountStatuses(address)": FunctionFragment;
        "getConfDAOParameterStorage(string)": FunctionFragment;
        "getContract(string)": FunctionFragment;
        "getDAOMemberStorage(string)": FunctionFragment;
        "getDAOVault()": FunctionFragment;
        "getExpertsDAOVoting(string)": FunctionFragment;
        "getGeneralDAOVoting(string)": FunctionFragment;
        "getImplementation(string)": FunctionFragment;
        "getPanels()": FunctionFragment;
        "getPermissionManager()": FunctionFragment;
        "getProxyUpgrader()": FunctionFragment;
        "getRegDAOParameterStorage(string)": FunctionFragment;
        "getRegistryContractAddresses()": FunctionFragment;
        "getResource()": FunctionFragment;
        "hasContract(string)": FunctionFragment;
        "implementation()": FunctionFragment;
        "injectDependencies(string)": FunctionFragment;
        "isAbleToAddPanel()": FunctionFragment;
        "justAddProxyContract(string,address)": FunctionFragment;
        "multicall(bytes[])": FunctionFragment;
        "permissionManager()": FunctionFragment;
        "predictProxyAddress(bytes32,address,bytes)": FunctionFragment;
        "proxiableUUID()": FunctionFragment;
        "removeContract(string)": FunctionFragment;
        "removePanel(string)": FunctionFragment;
        "setDAOMetadata(string)": FunctionFragment;
        "supportsInterface(bytes4)": FunctionFragment;
        "upgradeContract(string,address)": FunctionFragment;
        "upgradeContractAndCall(string,address,bytes)": FunctionFragment;
        "upgradeTo(address)": FunctionFragment;
        "upgradeToAndCall(address,bytes)": FunctionFragment;
        "version()": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "DAO_REGISTRY_RESOURCE" | "__DAORegistry_init" | "addContract" | "addDeterministicProxy" | "addPanel" | "addProxyContract" | "addProxyContractAndCall" | "checkPermission" | "daoURI" | "getAccountStatuses" | "getConfDAOParameterStorage" | "getContract" | "getDAOMemberStorage" | "getDAOVault" | "getExpertsDAOVoting" | "getGeneralDAOVoting" | "getImplementation" | "getPanels" | "getPermissionManager" | "getProxyUpgrader" | "getRegDAOParameterStorage" | "getRegistryContractAddresses" | "getResource" | "hasContract" | "implementation" | "injectDependencies" | "isAbleToAddPanel" | "justAddProxyContract" | "multicall" | "permissionManager" | "predictProxyAddress" | "proxiableUUID" | "removeContract" | "removePanel" | "setDAOMetadata" | "supportsInterface" | "upgradeContract" | "upgradeContractAndCall" | "upgradeTo" | "upgradeToAndCall" | "version"): FunctionFragment;
    encodeFunctionData(functionFragment: "DAO_REGISTRY_RESOURCE", values?: undefined): string;
    encodeFunctionData(functionFragment: "__DAORegistry_init", values: [string, string, string, string, string]): string;
    encodeFunctionData(functionFragment: "addContract", values: [string, string]): string;
    encodeFunctionData(functionFragment: "addDeterministicProxy", values: [string, BytesLike, string, BytesLike]): string;
    encodeFunctionData(functionFragment: "addPanel", values: [string]): string;
    encodeFunctionData(functionFragment: "addProxyContract", values: [string, string]): string;
    encodeFunctionData(functionFragment: "addProxyContractAndCall", values: [string, string, BytesLike]): string;
    encodeFunctionData(functionFragment: "checkPermission", values: [string, string]): string;
    encodeFunctionData(functionFragment: "daoURI", values?: undefined): string;
    encodeFunctionData(functionFragment: "getAccountStatuses", values: [string]): string;
    encodeFunctionData(functionFragment: "getConfDAOParameterStorage", values: [string]): string;
    encodeFunctionData(functionFragment: "getContract", values: [string]): string;
    encodeFunctionData(functionFragment: "getDAOMemberStorage", values: [string]): string;
    encodeFunctionData(functionFragment: "getDAOVault", values?: undefined): string;
    encodeFunctionData(functionFragment: "getExpertsDAOVoting", values: [string]): string;
    encodeFunctionData(functionFragment: "getGeneralDAOVoting", values: [string]): string;
    encodeFunctionData(functionFragment: "getImplementation", values: [string]): string;
    encodeFunctionData(functionFragment: "getPanels", values?: undefined): string;
    encodeFunctionData(functionFragment: "getPermissionManager", values?: undefined): string;
    encodeFunctionData(functionFragment: "getProxyUpgrader", values?: undefined): string;
    encodeFunctionData(functionFragment: "getRegDAOParameterStorage", values: [string]): string;
    encodeFunctionData(functionFragment: "getRegistryContractAddresses", values?: undefined): string;
    encodeFunctionData(functionFragment: "getResource", values?: undefined): string;
    encodeFunctionData(functionFragment: "hasContract", values: [string]): string;
    encodeFunctionData(functionFragment: "implementation", values?: undefined): string;
    encodeFunctionData(functionFragment: "injectDependencies", values: [string]): string;
    encodeFunctionData(functionFragment: "isAbleToAddPanel", values?: undefined): string;
    encodeFunctionData(functionFragment: "justAddProxyContract", values: [string, string]): string;
    encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string;
    encodeFunctionData(functionFragment: "permissionManager", values?: undefined): string;
    encodeFunctionData(functionFragment: "predictProxyAddress", values: [BytesLike, string, BytesLike]): string;
    encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string;
    encodeFunctionData(functionFragment: "removeContract", values: [string]): string;
    encodeFunctionData(functionFragment: "removePanel", values: [string]): string;
    encodeFunctionData(functionFragment: "setDAOMetadata", values: [string]): string;
    encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "upgradeContract", values: [string, string]): string;
    encodeFunctionData(functionFragment: "upgradeContractAndCall", values: [string, string, BytesLike]): string;
    encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
    encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string;
    encodeFunctionData(functionFragment: "version", values?: undefined): string;
    decodeFunctionResult(functionFragment: "DAO_REGISTRY_RESOURCE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "__DAORegistry_init", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "addContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "addDeterministicProxy", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "addPanel", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "addProxyContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "addProxyContractAndCall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "checkPermission", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "daoURI", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getAccountStatuses", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getConfDAOParameterStorage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getDAOMemberStorage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getDAOVault", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getExpertsDAOVoting", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getGeneralDAOVoting", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getPanels", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getPermissionManager", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getProxyUpgrader", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRegDAOParameterStorage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRegistryContractAddresses", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getResource", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "injectDependencies", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isAbleToAddPanel", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "justAddProxyContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "permissionManager", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "predictProxyAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "removeContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "removePanel", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDAOMetadata", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeContractAndCall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
    events: {
        "AdminChanged(address,address)": EventFragment;
        "BeaconUpgraded(address)": EventFragment;
        "ContractAdded(string,address)": EventFragment;
        "ContractRemoved(string)": EventFragment;
        "DAOURIUpdate(address,string)": EventFragment;
        "Initialized(uint8)": EventFragment;
        "Initialized(address,string)": EventFragment;
        "PanelAdded(string)": EventFragment;
        "PanelRemoved(string)": EventFragment;
        "ProxyContractAdded(string,address,address)": EventFragment;
        "ProxyContractUpgraded(string,address)": EventFragment;
        "Upgraded(address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ContractAdded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ContractRemoved"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "DAOURIUpdate"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Initialized(uint8)"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Initialized(address,string)"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PanelAdded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PanelRemoved"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ProxyContractAdded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ProxyContractUpgraded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;
}
export interface AdminChangedEventObject {
    previousAdmin: string;
    newAdmin: string;
}
export type AdminChangedEvent = TypedEvent<[
    string,
    string
], AdminChangedEventObject>;
export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
export interface BeaconUpgradedEventObject {
    beacon: string;
}
export type BeaconUpgradedEvent = TypedEvent<[
    string
], BeaconUpgradedEventObject>;
export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
export interface ContractAddedEventObject {
    name: string;
    contractAddress: string;
}
export type ContractAddedEvent = TypedEvent<[
    string,
    string
], ContractAddedEventObject>;
export type ContractAddedEventFilter = TypedEventFilter<ContractAddedEvent>;
export interface ContractRemovedEventObject {
    name: string;
}
export type ContractRemovedEvent = TypedEvent<[
    string
], ContractRemovedEventObject>;
export type ContractRemovedEventFilter = TypedEventFilter<ContractRemovedEvent>;
export interface DAOURIUpdateEventObject {
    daoAddress: string;
    daoURI: string;
}
export type DAOURIUpdateEvent = TypedEvent<[
    string,
    string
], DAOURIUpdateEventObject>;
export type DAOURIUpdateEventFilter = TypedEventFilter<DAOURIUpdateEvent>;
export interface Initialized_uint8_EventObject {
    version: number;
}
export type Initialized_uint8_Event = TypedEvent<[
    number
], Initialized_uint8_EventObject>;
export type Initialized_uint8_EventFilter = TypedEventFilter<Initialized_uint8_Event>;
export interface Initialized_address_string_EventObject {
    master: string;
    daoURI: string;
}
export type Initialized_address_string_Event = TypedEvent<[
    string,
    string
], Initialized_address_string_EventObject>;
export type Initialized_address_string_EventFilter = TypedEventFilter<Initialized_address_string_Event>;
export interface PanelAddedEventObject {
    panelName: string;
}
export type PanelAddedEvent = TypedEvent<[string], PanelAddedEventObject>;
export type PanelAddedEventFilter = TypedEventFilter<PanelAddedEvent>;
export interface PanelRemovedEventObject {
    panelName: string;
}
export type PanelRemovedEvent = TypedEvent<[string], PanelRemovedEventObject>;
export type PanelRemovedEventFilter = TypedEventFilter<PanelRemovedEvent>;
export interface ProxyContractAddedEventObject {
    name: string;
    contractAddress: string;
    implementation: string;
}
export type ProxyContractAddedEvent = TypedEvent<[
    string,
    string,
    string
], ProxyContractAddedEventObject>;
export type ProxyContractAddedEventFilter = TypedEventFilter<ProxyContractAddedEvent>;
export interface ProxyContractUpgradedEventObject {
    name: string;
    newImplementation: string;
}
export type ProxyContractUpgradedEvent = TypedEvent<[
    string,
    string
], ProxyContractUpgradedEventObject>;
export type ProxyContractUpgradedEventFilter = TypedEventFilter<ProxyContractUpgradedEvent>;
export interface UpgradedEventObject {
    implementation: string;
}
export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>;
export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
export interface DAORegistry extends BaseContract {
    contractName: "DAORegistry";
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: DAORegistryInterface;
    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: {
        DAO_REGISTRY_RESOURCE(overrides?: CallOverrides): Promise<[string]>;
        __DAORegistry_init(permissionManager_: string, master_: string, registryResource_: string, daoURI_: string, version_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        addContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        addDeterministicProxy(name_: string, salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        addPanel(panelName_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        addProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        addProxyContractAndCall(name_: string, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<[boolean]>;
        daoURI(overrides?: CallOverrides): Promise<[string] & {
            _daoURI: string;
        }>;
        getAccountStatuses(account_: string, overrides?: CallOverrides): Promise<[
            IDAORegistry.AccountStatusStructOutput
        ] & {
            status: IDAORegistry.AccountStatusStructOutput;
        }>;
        getConfDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<[string]>;
        getContract(name_: string, overrides?: CallOverrides): Promise<[string]>;
        getDAOMemberStorage(panelName_: string, overrides?: CallOverrides): Promise<[string]>;
        getDAOVault(overrides?: CallOverrides): Promise<[string]>;
        getExpertsDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<[string]>;
        getGeneralDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<[string]>;
        getImplementation(name_: string, overrides?: CallOverrides): Promise<[string]>;
        getPanels(overrides?: CallOverrides): Promise<[string[]]>;
        getPermissionManager(overrides?: CallOverrides): Promise<[string]>;
        getProxyUpgrader(overrides?: CallOverrides): Promise<[string]>;
        getRegDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<[string]>;
        getRegistryContractAddresses(overrides?: CallOverrides): Promise<[
            IDAORegistry.RegistryEntryStructOutput[]
        ] & {
            entries_: IDAORegistry.RegistryEntryStructOutput[];
        }>;
        getResource(overrides?: CallOverrides): Promise<[string]>;
        hasContract(name_: string, overrides?: CallOverrides): Promise<[boolean]>;
        implementation(overrides?: CallOverrides): Promise<[string]>;
        injectDependencies(name_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        isAbleToAddPanel(overrides?: CallOverrides): Promise<[boolean]>;
        justAddProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        multicall(data: BytesLike[], overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        permissionManager(overrides?: CallOverrides): Promise<[string]>;
        predictProxyAddress(salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: CallOverrides): Promise<[string]>;
        proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
        removeContract(name_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        removePanel(panelName_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setDAOMetadata(daoURI_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>;
        upgradeContract(name_: string, newImplementation_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        upgradeContractAndCall(name_: string, newImplementation_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        upgradeTo(newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        version(overrides?: CallOverrides): Promise<[string]>;
    };
    DAO_REGISTRY_RESOURCE(overrides?: CallOverrides): Promise<string>;
    __DAORegistry_init(permissionManager_: string, master_: string, registryResource_: string, daoURI_: string, version_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    addContract(name_: string, contractAddress_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    addDeterministicProxy(name_: string, salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    addPanel(panelName_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    addProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    addProxyContractAndCall(name_: string, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>;
    daoURI(overrides?: CallOverrides): Promise<string>;
    getAccountStatuses(account_: string, overrides?: CallOverrides): Promise<IDAORegistry.AccountStatusStructOutput>;
    getConfDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<string>;
    getContract(name_: string, overrides?: CallOverrides): Promise<string>;
    getDAOMemberStorage(panelName_: string, overrides?: CallOverrides): Promise<string>;
    getDAOVault(overrides?: CallOverrides): Promise<string>;
    getExpertsDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<string>;
    getGeneralDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<string>;
    getImplementation(name_: string, overrides?: CallOverrides): Promise<string>;
    getPanels(overrides?: CallOverrides): Promise<string[]>;
    getPermissionManager(overrides?: CallOverrides): Promise<string>;
    getProxyUpgrader(overrides?: CallOverrides): Promise<string>;
    getRegDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<string>;
    getRegistryContractAddresses(overrides?: CallOverrides): Promise<IDAORegistry.RegistryEntryStructOutput[]>;
    getResource(overrides?: CallOverrides): Promise<string>;
    hasContract(name_: string, overrides?: CallOverrides): Promise<boolean>;
    implementation(overrides?: CallOverrides): Promise<string>;
    injectDependencies(name_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    isAbleToAddPanel(overrides?: CallOverrides): Promise<boolean>;
    justAddProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    multicall(data: BytesLike[], overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    permissionManager(overrides?: CallOverrides): Promise<string>;
    predictProxyAddress(salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: CallOverrides): Promise<string>;
    proxiableUUID(overrides?: CallOverrides): Promise<string>;
    removeContract(name_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    removePanel(panelName_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setDAOMetadata(daoURI_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
    upgradeContract(name_: string, newImplementation_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    upgradeContractAndCall(name_: string, newImplementation_: string, data_: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    upgradeTo(newImplementation: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    version(overrides?: CallOverrides): Promise<string>;
    callStatic: {
        DAO_REGISTRY_RESOURCE(overrides?: CallOverrides): Promise<string>;
        __DAORegistry_init(permissionManager_: string, master_: string, registryResource_: string, daoURI_: string, version_: string, overrides?: CallOverrides): Promise<void>;
        addContract(name_: string, contractAddress_: string, overrides?: CallOverrides): Promise<void>;
        addDeterministicProxy(name_: string, salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: CallOverrides): Promise<void>;
        addPanel(panelName_: string, overrides?: CallOverrides): Promise<void>;
        addProxyContract(name_: string, contractAddress_: string, overrides?: CallOverrides): Promise<void>;
        addProxyContractAndCall(name_: string, contractAddress_: string, data_: BytesLike, overrides?: CallOverrides): Promise<void>;
        checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>;
        daoURI(overrides?: CallOverrides): Promise<string>;
        getAccountStatuses(account_: string, overrides?: CallOverrides): Promise<IDAORegistry.AccountStatusStructOutput>;
        getConfDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<string>;
        getContract(name_: string, overrides?: CallOverrides): Promise<string>;
        getDAOMemberStorage(panelName_: string, overrides?: CallOverrides): Promise<string>;
        getDAOVault(overrides?: CallOverrides): Promise<string>;
        getExpertsDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<string>;
        getGeneralDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<string>;
        getImplementation(name_: string, overrides?: CallOverrides): Promise<string>;
        getPanels(overrides?: CallOverrides): Promise<string[]>;
        getPermissionManager(overrides?: CallOverrides): Promise<string>;
        getProxyUpgrader(overrides?: CallOverrides): Promise<string>;
        getRegDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<string>;
        getRegistryContractAddresses(overrides?: CallOverrides): Promise<IDAORegistry.RegistryEntryStructOutput[]>;
        getResource(overrides?: CallOverrides): Promise<string>;
        hasContract(name_: string, overrides?: CallOverrides): Promise<boolean>;
        implementation(overrides?: CallOverrides): Promise<string>;
        injectDependencies(name_: string, overrides?: CallOverrides): Promise<void>;
        isAbleToAddPanel(overrides?: CallOverrides): Promise<boolean>;
        justAddProxyContract(name_: string, contractAddress_: string, overrides?: CallOverrides): Promise<void>;
        multicall(data: BytesLike[], overrides?: CallOverrides): Promise<string[]>;
        permissionManager(overrides?: CallOverrides): Promise<string>;
        predictProxyAddress(salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: CallOverrides): Promise<string>;
        proxiableUUID(overrides?: CallOverrides): Promise<string>;
        removeContract(name_: string, overrides?: CallOverrides): Promise<void>;
        removePanel(panelName_: string, overrides?: CallOverrides): Promise<void>;
        setDAOMetadata(daoURI_: string, overrides?: CallOverrides): Promise<void>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
        upgradeContract(name_: string, newImplementation_: string, overrides?: CallOverrides): Promise<void>;
        upgradeContractAndCall(name_: string, newImplementation_: string, data_: BytesLike, overrides?: CallOverrides): Promise<void>;
        upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise<void>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise<void>;
        version(overrides?: CallOverrides): Promise<string>;
    };
    filters: {
        "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter;
        BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter;
        "ContractAdded(string,address)"(name?: null, contractAddress?: null): ContractAddedEventFilter;
        ContractAdded(name?: null, contractAddress?: null): ContractAddedEventFilter;
        "ContractRemoved(string)"(name?: null): ContractRemovedEventFilter;
        ContractRemoved(name?: null): ContractRemovedEventFilter;
        "DAOURIUpdate(address,string)"(daoAddress?: null, daoURI?: null): DAOURIUpdateEventFilter;
        DAOURIUpdate(daoAddress?: null, daoURI?: null): DAOURIUpdateEventFilter;
        "Initialized(uint8)"(version?: null): Initialized_uint8_EventFilter;
        "Initialized(address,string)"(master?: null, daoURI?: null): Initialized_address_string_EventFilter;
        "PanelAdded(string)"(panelName?: null): PanelAddedEventFilter;
        PanelAdded(panelName?: null): PanelAddedEventFilter;
        "PanelRemoved(string)"(panelName?: null): PanelRemovedEventFilter;
        PanelRemoved(panelName?: null): PanelRemovedEventFilter;
        "ProxyContractAdded(string,address,address)"(name?: null, contractAddress?: null, implementation?: null): ProxyContractAddedEventFilter;
        ProxyContractAdded(name?: null, contractAddress?: null, implementation?: null): ProxyContractAddedEventFilter;
        "ProxyContractUpgraded(string,address)"(name?: null, newImplementation?: null): ProxyContractUpgradedEventFilter;
        ProxyContractUpgraded(name?: null, newImplementation?: null): ProxyContractUpgradedEventFilter;
        "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter;
        Upgraded(implementation?: string | null): UpgradedEventFilter;
    };
    estimateGas: {
        DAO_REGISTRY_RESOURCE(overrides?: CallOverrides): Promise<BigNumber>;
        __DAORegistry_init(permissionManager_: string, master_: string, registryResource_: string, daoURI_: string, version_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        addContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        addDeterministicProxy(name_: string, salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        addPanel(panelName_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        addProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        addProxyContractAndCall(name_: string, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<BigNumber>;
        daoURI(overrides?: CallOverrides): Promise<BigNumber>;
        getAccountStatuses(account_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getConfDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getContract(name_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getDAOMemberStorage(panelName_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getDAOVault(overrides?: CallOverrides): Promise<BigNumber>;
        getExpertsDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getGeneralDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getImplementation(name_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getPanels(overrides?: CallOverrides): Promise<BigNumber>;
        getPermissionManager(overrides?: CallOverrides): Promise<BigNumber>;
        getProxyUpgrader(overrides?: CallOverrides): Promise<BigNumber>;
        getRegDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<BigNumber>;
        getRegistryContractAddresses(overrides?: CallOverrides): Promise<BigNumber>;
        getResource(overrides?: CallOverrides): Promise<BigNumber>;
        hasContract(name_: string, overrides?: CallOverrides): Promise<BigNumber>;
        implementation(overrides?: CallOverrides): Promise<BigNumber>;
        injectDependencies(name_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        isAbleToAddPanel(overrides?: CallOverrides): Promise<BigNumber>;
        justAddProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        multicall(data: BytesLike[], overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        permissionManager(overrides?: CallOverrides): Promise<BigNumber>;
        predictProxyAddress(salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
        removeContract(name_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        removePanel(panelName_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setDAOMetadata(daoURI_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        upgradeContract(name_: string, newImplementation_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        upgradeContractAndCall(name_: string, newImplementation_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        upgradeTo(newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<BigNumber>;
        version(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        DAO_REGISTRY_RESOURCE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        __DAORegistry_init(permissionManager_: string, master_: string, registryResource_: string, daoURI_: string, version_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        addContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        addDeterministicProxy(name_: string, salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        addPanel(panelName_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        addProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        addProxyContractAndCall(name_: string, contractAddress_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        daoURI(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountStatuses(account_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getConfDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getContract(name_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getDAOMemberStorage(panelName_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getDAOVault(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getExpertsDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getGeneralDAOVoting(panelName_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getImplementation(name_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPanels(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPermissionManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getProxyUpgrader(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRegDAOParameterStorage(panelName_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRegistryContractAddresses(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getResource(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hasContract(name_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        implementation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        injectDependencies(name_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        isAbleToAddPanel(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        justAddProxyContract(name_: string, contractAddress_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        multicall(data: BytesLike[], overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        permissionManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        predictProxyAddress(salt_: BytesLike, contractAddress_: string, data_: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        removeContract(name_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        removePanel(panelName_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setDAOMetadata(daoURI_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        upgradeContract(name_: string, newImplementation_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        upgradeContractAndCall(name_: string, newImplementation_: string, data_: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        upgradeTo(newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
