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 declare namespace DataTypes {
    type CreateProfileStruct = {
        metadataURI: PromiseOrValue<string>;
    };
    type CreateProfileStructOutput = [string] & {
        metadataURI: string;
    };
    type ProfileViewStruct = {
        id: PromiseOrValue<BigNumberish>;
        metadataURI: PromiseOrValue<string>;
    };
    type ProfileViewStructOutput = [BigNumber, string] & {
        id: BigNumber;
        metadataURI: string;
    };
    type UpdateProfileStruct = {
        metadataURI: PromiseOrValue<string>;
    };
    type UpdateProfileStructOutput = [string] & {
        metadataURI: string;
    };
}
export interface My3SecHubInterface extends utils.Interface {
    functions: {
        "createOrganization(string)": FunctionFragment;
        "createProfile((string))": FunctionFragment;
        "emitPendingMemberApproved(address,uint256)": FunctionFragment;
        "emitPendingMemberRejected(address,uint256)": FunctionFragment;
        "emitProjectCreated(address,uint256)": FunctionFragment;
        "emitProjectMemberAdded(address,uint256,uint256)": FunctionFragment;
        "emitProjectMemberRemoved(address,uint256,uint256)": FunctionFragment;
        "emitProjectUpdated(address,uint256)": FunctionFragment;
        "emitTaskCreated(address,uint256,uint256)": FunctionFragment;
        "emitTaskMemberAdded(address,uint256,uint256)": FunctionFragment;
        "emitTaskMemberRemoved(address,uint256,uint256)": FunctionFragment;
        "emitTaskUpdated(address,uint256)": FunctionFragment;
        "getDefaultProfile(address)": FunctionFragment;
        "getOrganization(uint256)": FunctionFragment;
        "getOrganizationCount()": FunctionFragment;
        "getProfile(uint256)": FunctionFragment;
        "getProfileAccount(uint256)": FunctionFragment;
        "giveEnergyTo(uint256,uint256)": FunctionFragment;
        "hasWithdrawn(address,uint256,uint256)": FunctionFragment;
        "initialize()": FunctionFragment;
        "issueCertificate(uint256,string)": FunctionFragment;
        "issueCertificate(address,uint256,string)": FunctionFragment;
        "joinOrganization(address)": FunctionFragment;
        "leaveOrganization(address)": FunctionFragment;
        "logTime(address,uint256,uint256)": FunctionFragment;
        "owner()": FunctionFragment;
        "registerOrganization(address)": FunctionFragment;
        "removeEnergyFrom(uint256,uint256)": FunctionFragment;
        "renounceOwnership()": FunctionFragment;
        "setCertificateNFTContract(address)": FunctionFragment;
        "setDefaultProfile(uint256)": FunctionFragment;
        "setEnergyWalletContract(address)": FunctionFragment;
        "setGovernanceTimelockContractAddress(address)": FunctionFragment;
        "setMy3SecProfilesContract(address)": FunctionFragment;
        "setOrganizationFactoryContract(address)": FunctionFragment;
        "setSkillRegistryContract(address)": FunctionFragment;
        "setSkillWalletContract(address)": FunctionFragment;
        "setTimeWalletContract(address)": FunctionFragment;
        "transferOwnership(address)": FunctionFragment;
        "updateProfile(uint256,(string))": FunctionFragment;
        "withdraw(address,uint256)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "createOrganization" | "createProfile" | "emitPendingMemberApproved" | "emitPendingMemberRejected" | "emitProjectCreated" | "emitProjectMemberAdded" | "emitProjectMemberRemoved" | "emitProjectUpdated" | "emitTaskCreated" | "emitTaskMemberAdded" | "emitTaskMemberRemoved" | "emitTaskUpdated" | "getDefaultProfile" | "getOrganization" | "getOrganizationCount" | "getProfile" | "getProfileAccount" | "giveEnergyTo" | "hasWithdrawn" | "initialize" | "issueCertificate(uint256,string)" | "issueCertificate(address,uint256,string)" | "joinOrganization" | "leaveOrganization" | "logTime" | "owner" | "registerOrganization" | "removeEnergyFrom" | "renounceOwnership" | "setCertificateNFTContract" | "setDefaultProfile" | "setEnergyWalletContract" | "setGovernanceTimelockContractAddress" | "setMy3SecProfilesContract" | "setOrganizationFactoryContract" | "setSkillRegistryContract" | "setSkillWalletContract" | "setTimeWalletContract" | "transferOwnership" | "updateProfile" | "withdraw"): FunctionFragment;
    encodeFunctionData(functionFragment: "createOrganization", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "createProfile", values: [DataTypes.CreateProfileStruct]): string;
    encodeFunctionData(functionFragment: "emitPendingMemberApproved", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "emitPendingMemberRejected", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "emitProjectCreated", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "emitProjectMemberAdded", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "emitProjectMemberRemoved", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "emitProjectUpdated", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "emitTaskCreated", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "emitTaskMemberAdded", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "emitTaskMemberRemoved", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "emitTaskUpdated", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getDefaultProfile", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "getOrganization", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getOrganizationCount", values?: undefined): string;
    encodeFunctionData(functionFragment: "getProfile", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getProfileAccount", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "giveEnergyTo", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "hasWithdrawn", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "initialize", values?: undefined): string;
    encodeFunctionData(functionFragment: "issueCertificate(uint256,string)", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "issueCertificate(address,uint256,string)", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: "joinOrganization", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "leaveOrganization", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "logTime", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "owner", values?: undefined): string;
    encodeFunctionData(functionFragment: "registerOrganization", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "removeEnergyFrom", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "setCertificateNFTContract", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setDefaultProfile", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "setEnergyWalletContract", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setGovernanceTimelockContractAddress", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setMy3SecProfilesContract", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setOrganizationFactoryContract", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setSkillRegistryContract", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setSkillWalletContract", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setTimeWalletContract", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "updateProfile", values: [PromiseOrValue<BigNumberish>, DataTypes.UpdateProfileStruct]): string;
    encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: "createOrganization", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "createProfile", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitPendingMemberApproved", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitPendingMemberRejected", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitProjectCreated", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitProjectMemberAdded", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitProjectMemberRemoved", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitProjectUpdated", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitTaskCreated", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitTaskMemberAdded", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitTaskMemberRemoved", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emitTaskUpdated", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getDefaultProfile", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getOrganization", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getOrganizationCount", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getProfile", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getProfileAccount", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "giveEnergyTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasWithdrawn", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "issueCertificate(uint256,string)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "issueCertificate(address,uint256,string)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "joinOrganization", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "leaveOrganization", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "logTime", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "registerOrganization", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "removeEnergyFrom", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setCertificateNFTContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDefaultProfile", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setEnergyWalletContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setGovernanceTimelockContractAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setMy3SecProfilesContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setOrganizationFactoryContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setSkillRegistryContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setSkillWalletContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setTimeWalletContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateProfile", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
    events: {
        "Initialized(uint8)": EventFragment;
        "OwnershipTransferred(address,address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
}
export interface InitializedEventObject {
    version: number;
}
export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
    string,
    string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface My3SecHub extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: My3SecHubInterface;
    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: {
        createOrganization(metadataURI: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        createProfile(args: DataTypes.CreateProfileStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitPendingMemberApproved(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitPendingMemberRejected(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitProjectCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitProjectMemberAdded(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitProjectMemberRemoved(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitProjectUpdated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitTaskCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitTaskMemberAdded(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitTaskMemberRemoved(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        emitTaskUpdated(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getDefaultProfile(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[DataTypes.ProfileViewStructOutput]>;
        getOrganization(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getOrganizationCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        getProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[DataTypes.ProfileViewStructOutput]>;
        getProfileAccount(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        giveEnergyTo(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        hasWithdrawn(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        "issueCertificate(uint256,string)"(profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        "issueCertificate(address,uint256,string)"(organizationAddress: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        joinOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        leaveOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        logTime(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        registerOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeEnergyFrom(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setCertificateNFTContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setDefaultProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setEnergyWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setGovernanceTimelockContractAddress(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setMy3SecProfilesContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setOrganizationFactoryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setSkillRegistryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setSkillWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setTimeWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateProfile(profileId: PromiseOrValue<BigNumberish>, args: DataTypes.UpdateProfileStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdraw(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    createOrganization(metadataURI: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    createProfile(args: DataTypes.CreateProfileStruct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitPendingMemberApproved(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitPendingMemberRejected(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitProjectCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitProjectMemberAdded(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitProjectMemberRemoved(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitProjectUpdated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitTaskCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitTaskMemberAdded(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitTaskMemberRemoved(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    emitTaskUpdated(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getDefaultProfile(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<DataTypes.ProfileViewStructOutput>;
    getOrganization(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getOrganizationCount(overrides?: CallOverrides): Promise<BigNumber>;
    getProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<DataTypes.ProfileViewStructOutput>;
    getProfileAccount(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    giveEnergyTo(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    hasWithdrawn(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
    initialize(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    "issueCertificate(uint256,string)"(profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    "issueCertificate(address,uint256,string)"(organizationAddress: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    joinOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    leaveOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    logTime(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    owner(overrides?: CallOverrides): Promise<string>;
    registerOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeEnergyFrom(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setCertificateNFTContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setDefaultProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setEnergyWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setGovernanceTimelockContractAddress(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setMy3SecProfilesContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setOrganizationFactoryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setSkillRegistryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setSkillWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setTimeWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateProfile(profileId: PromiseOrValue<BigNumberish>, args: DataTypes.UpdateProfileStruct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdraw(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        createOrganization(metadataURI: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        createProfile(args: DataTypes.CreateProfileStruct, overrides?: CallOverrides): Promise<BigNumber>;
        emitPendingMemberApproved(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitPendingMemberRejected(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitProjectCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitProjectMemberAdded(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitProjectMemberRemoved(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitProjectUpdated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitTaskCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, taskId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitTaskMemberAdded(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitTaskMemberRemoved(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        emitTaskUpdated(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        getDefaultProfile(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<DataTypes.ProfileViewStructOutput>;
        getOrganization(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getOrganizationCount(overrides?: CallOverrides): Promise<BigNumber>;
        getProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<DataTypes.ProfileViewStructOutput>;
        getProfileAccount(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        giveEnergyTo(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        hasWithdrawn(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        initialize(overrides?: CallOverrides): Promise<void>;
        "issueCertificate(uint256,string)"(profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        "issueCertificate(address,uint256,string)"(organizationAddress: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        joinOrganization(organizationAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        leaveOrganization(organizationAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        logTime(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, time: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        owner(overrides?: CallOverrides): Promise<string>;
        registerOrganization(organizationAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        removeEnergyFrom(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        setCertificateNFTContract(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setDefaultProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setEnergyWalletContract(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setGovernanceTimelockContractAddress(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setMy3SecProfilesContract(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setOrganizationFactoryContract(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setSkillRegistryContract(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setSkillWalletContract(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setTimeWalletContract(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        updateProfile(profileId: PromiseOrValue<BigNumberish>, args: DataTypes.UpdateProfileStruct, overrides?: CallOverrides): Promise<void>;
        withdraw(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        "Initialized(uint8)"(version?: null): InitializedEventFilter;
        Initialized(version?: null): InitializedEventFilter;
        "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
    };
    estimateGas: {
        createOrganization(metadataURI: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        createProfile(args: DataTypes.CreateProfileStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitPendingMemberApproved(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitPendingMemberRejected(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitProjectCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitProjectMemberAdded(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitProjectMemberRemoved(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitProjectUpdated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitTaskCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitTaskMemberAdded(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitTaskMemberRemoved(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        emitTaskUpdated(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getDefaultProfile(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getOrganization(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getOrganizationCount(overrides?: CallOverrides): Promise<BigNumber>;
        getProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getProfileAccount(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        giveEnergyTo(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        hasWithdrawn(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        "issueCertificate(uint256,string)"(profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        "issueCertificate(address,uint256,string)"(organizationAddress: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        joinOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        leaveOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        logTime(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        registerOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeEnergyFrom(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setCertificateNFTContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setDefaultProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setEnergyWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setGovernanceTimelockContractAddress(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setMy3SecProfilesContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setOrganizationFactoryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setSkillRegistryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setSkillWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setTimeWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateProfile(profileId: PromiseOrValue<BigNumberish>, args: DataTypes.UpdateProfileStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdraw(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        createOrganization(metadataURI: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        createProfile(args: DataTypes.CreateProfileStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitPendingMemberApproved(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitPendingMemberRejected(organization: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitProjectCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitProjectMemberAdded(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitProjectMemberRemoved(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitProjectUpdated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitTaskCreated(organization: PromiseOrValue<string>, projectId: PromiseOrValue<BigNumberish>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitTaskMemberAdded(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitTaskMemberRemoved(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        emitTaskUpdated(organization: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getDefaultProfile(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getOrganization(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getOrganizationCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getProfileAccount(profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        giveEnergyTo(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        hasWithdrawn(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, profileId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        "issueCertificate(uint256,string)"(profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        "issueCertificate(address,uint256,string)"(organizationAddress: PromiseOrValue<string>, profileId: PromiseOrValue<BigNumberish>, uri: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        joinOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        leaveOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        logTime(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        registerOrganization(organizationAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeEnergyFrom(profileId: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setCertificateNFTContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setDefaultProfile(profileId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setEnergyWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setGovernanceTimelockContractAddress(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setMy3SecProfilesContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setOrganizationFactoryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setSkillRegistryContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setSkillWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setTimeWalletContract(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateProfile(profileId: PromiseOrValue<BigNumberish>, args: DataTypes.UpdateProfileStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdraw(organizationAddress: PromiseOrValue<string>, taskId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
