/// <reference types="node" />
import type { ContractOptions } from "web3-eth-contract";
import type { EventLog } from "web3-core";
import type { EventEmitter } from "events";
import type { Callback, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types";
export interface EventOptions {
    filter?: object;
    fromBlock?: BlockType;
    topics?: string[];
}
export type Initialized = ContractEventLog<{}>;
export interface IDAORegistry extends BaseContract {
    constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IDAORegistry;
    clone(): IDAORegistry;
    methods: {
        addPanel(panelName_: string): NonPayableTransactionObject<void>;
        checkPermission(member_: string, permission_: string): NonPayableTransactionObject<boolean>;
        getDAOMemberStorage(panelName_: string): NonPayableTransactionObject<string>;
        getDAOPanelResource(moduleType_: string, panelName_: string): NonPayableTransactionObject<string>;
        getDAOParameterStorage(panelName_: string): NonPayableTransactionObject<string>;
        getDAOVault(): NonPayableTransactionObject<string>;
        getPanels(): NonPayableTransactionObject<string[]>;
        getPermissionManager(): NonPayableTransactionObject<string>;
        getResource(): NonPayableTransactionObject<string>;
        getTokenFactory(): NonPayableTransactionObject<string>;
        getTokenRegistry(): NonPayableTransactionObject<string>;
        getVotingFactory(): NonPayableTransactionObject<string>;
        getVotingRegistry(): NonPayableTransactionObject<string>;
        removePanel(panelName_: string): NonPayableTransactionObject<void>;
    };
    events: {
        Initialized(cb?: Callback<Initialized>): EventEmitter;
        Initialized(options?: EventOptions, cb?: Callback<Initialized>): EventEmitter;
        allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
    };
    once(event: "Initialized", cb: Callback<Initialized>): void;
    once(event: "Initialized", options: EventOptions, cb: Callback<Initialized>): void;
}
