/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type {
  BaseContract,
  BigNumberish,
  BytesLike,
  FunctionFragment,
  Result,
  Interface,
  EventFragment,
  AddressLike,
  ContractRunner,
  ContractMethod,
  Listener,
} from "ethers";
import type {
  TypedContractEvent,
  TypedDeferredTopicFilter,
  TypedEventLog,
  TypedLogDescription,
  TypedListener,
  TypedContractMethod,
} from "../../common";

export declare namespace PassportTypes {
  export type InitializationDataStruct = {
    xAllocationVoting: AddressLike;
    x2EarnApps: AddressLike;
    galaxyMember: AddressLike;
    signalingThreshold: BigNumberish;
    roundsForCumulativeScore: BigNumberish;
    minimumGalaxyMemberLevel: BigNumberish;
    blacklistThreshold: BigNumberish;
    whitelistThreshold: BigNumberish;
    maxEntitiesPerPassport: BigNumberish;
    decayRate: BigNumberish;
  };

  export type InitializationDataStructOutput = [
    xAllocationVoting: string,
    x2EarnApps: string,
    galaxyMember: string,
    signalingThreshold: bigint,
    roundsForCumulativeScore: bigint,
    minimumGalaxyMemberLevel: bigint,
    blacklistThreshold: bigint,
    whitelistThreshold: bigint,
    maxEntitiesPerPassport: bigint,
    decayRate: bigint
  ] & {
    xAllocationVoting: string;
    x2EarnApps: string;
    galaxyMember: string;
    signalingThreshold: bigint;
    roundsForCumulativeScore: bigint;
    minimumGalaxyMemberLevel: bigint;
    blacklistThreshold: bigint;
    whitelistThreshold: bigint;
    maxEntitiesPerPassport: bigint;
    decayRate: bigint;
  };

  export type InitializationRoleDataStruct = {
    admin: AddressLike;
    botSignaler: AddressLike;
    upgrader: AddressLike;
    settingsManager: AddressLike;
    roleGranter: AddressLike;
    blacklister: AddressLike;
    whitelister: AddressLike;
    actionRegistrar: AddressLike;
    actionScoreManager: AddressLike;
    resetSignaler: AddressLike;
  };

  export type InitializationRoleDataStructOutput = [
    admin: string,
    botSignaler: string,
    upgrader: string,
    settingsManager: string,
    roleGranter: string,
    blacklister: string,
    whitelister: string,
    actionRegistrar: string,
    actionScoreManager: string,
    resetSignaler: string
  ] & {
    admin: string;
    botSignaler: string;
    upgrader: string;
    settingsManager: string;
    roleGranter: string;
    blacklister: string;
    whitelister: string;
    actionRegistrar: string;
    actionScoreManager: string;
    resetSignaler: string;
  };
}

export interface IVeBetterPassportInterface extends Interface {
  getFunction(
    nameOrSignature:
      | "CLOCK_MODE"
      | "acceptDelegation"
      | "acceptEntityLink"
      | "appRoundActionCount"
      | "appSecurity"
      | "appTotalSignalsCounter"
      | "assignSignalerToApp"
      | "blacklistThreshold"
      | "cancelOutgoingPendingDelegation"
      | "cancelOutgoingPendingEntityLink"
      | "clock"
      | "decayRate"
      | "delegatePassport"
      | "denyIncomingPendingDelegation"
      | "denyIncomingPendingEntityLink"
      | "eip712Domain"
      | "getCumulativeScoreWithDecay"
      | "getDelegatee"
      | "getDelegateeInTimepoint"
      | "getDelegator"
      | "getDelegatorInTimepoint"
      | "getEntitiesLinkedToPassport"
      | "getMinimumGalaxyMemberLevel"
      | "getPassportForEntity"
      | "getPassportForEntityAtTimepoint"
      | "getPendingDelegations"
      | "getPendingLinkings"
      | "grantRole"
      | "initialize"
      | "isBlacklisted"
      | "isCheckEnabled"
      | "isDelegatee"
      | "isDelegateeInTimepoint"
      | "isDelegator"
      | "isDelegatorInTimepoint"
      | "isEntity"
      | "isEntityInTimepoint"
      | "isPassport"
      | "isPassportInTimepoint"
      | "isPerson"
      | "isPersonAtTimepoint"
      | "isWhitelisted"
      | "linkEntityToPassport"
      | "linkEntityToPassportWithSignature"
      | "maxEntitiesPerPassport"
      | "minimumGalaxyMemberLevel"
      | "registerAction"
      | "registerActionForRound"
      | "removeEntityLink"
      | "removeSignalerFromApp"
      | "resetUserSignalsWithReason"
      | "revokeDelegation"
      | "revokeRole"
      | "roundsForCumulativeScore"
      | "securityMultiplier"
      | "setAppSecurity"
      | "setBlacklistThreshold"
      | "setDecayRate"
      | "setMaxEntitiesPerPassport"
      | "setRoundsForCumulativeScore"
      | "setSecurityMultiplier"
      | "setSignalingThreshold"
      | "setThresholdPoPScore"
      | "setWhitelistThreshold"
      | "setX2EarnApps"
      | "setXAllocationVoting"
      | "signalUser"
      | "signalUserWithReason"
      | "signalingThreshold"
      | "thresholdPoPScore"
      | "thresholdPoPScoreAtTimepoint"
      | "toggleCheck"
      | "userAppTotalScore"
      | "userInteractedApps"
      | "userRoundActionCount"
      | "userRoundActionCountApp"
      | "userRoundAppCount"
      | "userRoundScore"
      | "userRoundScoreApp"
      | "userTotalScore"
      | "userUniqueAppInteraction"
      | "version"
      | "whitelistThreshold"
  ): FunctionFragment;

  getEvent(
    nameOrSignatureOrTopic:
      | "CheckToggled"
      | "DelegationCreated"
      | "DelegationPending"
      | "DelegationRevoked"
      | "LinkCreated"
      | "LinkPending"
      | "LinkRemoved"
      | "MinimumGalaxyMemberLevelSet"
      | "RegisteredAction"
      | "RemovedUserFromBlacklist"
      | "RemovedUserFromWhitelist"
      | "SignalerAssignedToApp"
      | "SignalerRemovedFromApp"
      | "UserBlacklisted"
      | "UserSignaled"
      | "UserSignalsReset"
      | "UserSignalsResetForApp"
      | "UserWhitelisted"
  ): EventFragment;

  encodeFunctionData(
    functionFragment: "CLOCK_MODE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "acceptDelegation",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "acceptEntityLink",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "appRoundActionCount",
    values: [BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "appSecurity",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "appTotalSignalsCounter",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assignSignalerToApp",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "blacklistThreshold",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "cancelOutgoingPendingDelegation",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "cancelOutgoingPendingEntityLink",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "clock", values?: undefined): string;
  encodeFunctionData(functionFragment: "decayRate", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "delegatePassport",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "denyIncomingPendingDelegation",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "denyIncomingPendingEntityLink",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "eip712Domain",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getCumulativeScoreWithDecay",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getDelegatee",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getDelegateeInTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getDelegator",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getDelegatorInTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getEntitiesLinkedToPassport",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getMinimumGalaxyMemberLevel",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getPassportForEntity",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getPassportForEntityAtTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getPendingDelegations",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getPendingLinkings",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "grantRole",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "initialize",
    values: [
      PassportTypes.InitializationDataStruct,
      PassportTypes.InitializationRoleDataStruct
    ]
  ): string;
  encodeFunctionData(
    functionFragment: "isBlacklisted",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isCheckEnabled",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isDelegatee",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isDelegateeInTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isDelegator",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isDelegatorInTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isEntity",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isEntityInTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isPassport",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isPassportInTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isPerson",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isPersonAtTimepoint",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isWhitelisted",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "linkEntityToPassport",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "linkEntityToPassportWithSignature",
    values: [AddressLike, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "maxEntitiesPerPassport",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "minimumGalaxyMemberLevel",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "registerAction",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "registerActionForRound",
    values: [AddressLike, BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "removeEntityLink",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "removeSignalerFromApp",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "resetUserSignalsWithReason",
    values: [AddressLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "revokeDelegation",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "revokeRole",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "roundsForCumulativeScore",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "securityMultiplier",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setAppSecurity",
    values: [BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setBlacklistThreshold",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setDecayRate",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setMaxEntitiesPerPassport",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setRoundsForCumulativeScore",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setSecurityMultiplier",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setSignalingThreshold",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setThresholdPoPScore",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setWhitelistThreshold",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setX2EarnApps",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setXAllocationVoting",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "signalUser",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "signalUserWithReason",
    values: [AddressLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "signalingThreshold",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "thresholdPoPScore",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "thresholdPoPScoreAtTimepoint",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "toggleCheck",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "userAppTotalScore",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "userInteractedApps",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "userRoundActionCount",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "userRoundActionCountApp",
    values: [AddressLike, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "userRoundAppCount",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "userRoundScore",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "userRoundScoreApp",
    values: [AddressLike, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "userTotalScore",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "userUniqueAppInteraction",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "version", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "whitelistThreshold",
    values?: undefined
  ): string;

  decodeFunctionResult(functionFragment: "CLOCK_MODE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "acceptDelegation",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "acceptEntityLink",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "appRoundActionCount",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "appSecurity",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "appTotalSignalsCounter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assignSignalerToApp",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "blacklistThreshold",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "cancelOutgoingPendingDelegation",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "cancelOutgoingPendingEntityLink",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "clock", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "decayRate", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "delegatePassport",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "denyIncomingPendingDelegation",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "denyIncomingPendingEntityLink",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "eip712Domain",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getCumulativeScoreWithDecay",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDelegatee",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDelegateeInTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDelegator",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDelegatorInTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getEntitiesLinkedToPassport",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getMinimumGalaxyMemberLevel",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getPassportForEntity",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getPassportForEntityAtTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getPendingDelegations",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getPendingLinkings",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "isBlacklisted",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isCheckEnabled",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isDelegatee",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isDelegateeInTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isDelegator",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isDelegatorInTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "isEntity", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "isEntityInTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "isPassport", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "isPassportInTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "isPerson", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "isPersonAtTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isWhitelisted",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "linkEntityToPassport",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "linkEntityToPassportWithSignature",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "maxEntitiesPerPassport",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "minimumGalaxyMemberLevel",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "registerAction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "registerActionForRound",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "removeEntityLink",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "removeSignalerFromApp",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "resetUserSignalsWithReason",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "revokeDelegation",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "roundsForCumulativeScore",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "securityMultiplier",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setAppSecurity",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBlacklistThreshold",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setDecayRate",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setMaxEntitiesPerPassport",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setRoundsForCumulativeScore",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setSecurityMultiplier",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setSignalingThreshold",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setThresholdPoPScore",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setWhitelistThreshold",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setX2EarnApps",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setXAllocationVoting",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "signalUser", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "signalUserWithReason",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signalingThreshold",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "thresholdPoPScore",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "thresholdPoPScoreAtTimepoint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toggleCheck",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userAppTotalScore",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userInteractedApps",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userRoundActionCount",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userRoundActionCountApp",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userRoundAppCount",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userRoundScore",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userRoundScoreApp",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userTotalScore",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "userUniqueAppInteraction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "whitelistThreshold",
    data: BytesLike
  ): Result;
}

export namespace CheckToggledEvent {
  export type InputTuple = [checkName: string, enabled: boolean];
  export type OutputTuple = [checkName: string, enabled: boolean];
  export interface OutputObject {
    checkName: string;
    enabled: boolean;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace DelegationCreatedEvent {
  export type InputTuple = [delegator: AddressLike, delegatee: AddressLike];
  export type OutputTuple = [delegator: string, delegatee: string];
  export interface OutputObject {
    delegator: string;
    delegatee: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace DelegationPendingEvent {
  export type InputTuple = [delegator: AddressLike, delegatee: AddressLike];
  export type OutputTuple = [delegator: string, delegatee: string];
  export interface OutputObject {
    delegator: string;
    delegatee: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace DelegationRevokedEvent {
  export type InputTuple = [delegator: AddressLike, delegatee: AddressLike];
  export type OutputTuple = [delegator: string, delegatee: string];
  export interface OutputObject {
    delegator: string;
    delegatee: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace LinkCreatedEvent {
  export type InputTuple = [entity: AddressLike, passport: AddressLike];
  export type OutputTuple = [entity: string, passport: string];
  export interface OutputObject {
    entity: string;
    passport: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace LinkPendingEvent {
  export type InputTuple = [entity: AddressLike, passport: AddressLike];
  export type OutputTuple = [entity: string, passport: string];
  export interface OutputObject {
    entity: string;
    passport: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace LinkRemovedEvent {
  export type InputTuple = [entity: AddressLike, passport: AddressLike];
  export type OutputTuple = [entity: string, passport: string];
  export interface OutputObject {
    entity: string;
    passport: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace MinimumGalaxyMemberLevelSetEvent {
  export type InputTuple = [minimumGalaxyMemberLevel: BigNumberish];
  export type OutputTuple = [minimumGalaxyMemberLevel: bigint];
  export interface OutputObject {
    minimumGalaxyMemberLevel: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace RegisteredActionEvent {
  export type InputTuple = [
    user: AddressLike,
    passport: AddressLike,
    appId: BytesLike,
    round: BigNumberish,
    actionScore: BigNumberish
  ];
  export type OutputTuple = [
    user: string,
    passport: string,
    appId: string,
    round: bigint,
    actionScore: bigint
  ];
  export interface OutputObject {
    user: string;
    passport: string;
    appId: string;
    round: bigint;
    actionScore: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace RemovedUserFromBlacklistEvent {
  export type InputTuple = [user: AddressLike, removedBy: AddressLike];
  export type OutputTuple = [user: string, removedBy: string];
  export interface OutputObject {
    user: string;
    removedBy: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace RemovedUserFromWhitelistEvent {
  export type InputTuple = [
    user: AddressLike,
    passport: AddressLike,
    removedBy: AddressLike
  ];
  export type OutputTuple = [user: string, passport: string, removedBy: string];
  export interface OutputObject {
    user: string;
    passport: string;
    removedBy: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace SignalerAssignedToAppEvent {
  export type InputTuple = [signaler: AddressLike, app: BytesLike];
  export type OutputTuple = [signaler: string, app: string];
  export interface OutputObject {
    signaler: string;
    app: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace SignalerRemovedFromAppEvent {
  export type InputTuple = [signaler: AddressLike, app: BytesLike];
  export type OutputTuple = [signaler: string, app: string];
  export interface OutputObject {
    signaler: string;
    app: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace UserBlacklistedEvent {
  export type InputTuple = [user: AddressLike, blacklistedBy: AddressLike];
  export type OutputTuple = [user: string, blacklistedBy: string];
  export interface OutputObject {
    user: string;
    blacklistedBy: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace UserSignaledEvent {
  export type InputTuple = [
    user: AddressLike,
    signaler: AddressLike,
    app: BytesLike,
    reason: string
  ];
  export type OutputTuple = [
    user: string,
    signaler: string,
    app: string,
    reason: string
  ];
  export interface OutputObject {
    user: string;
    signaler: string;
    app: string;
    reason: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace UserSignalsResetEvent {
  export type InputTuple = [user: AddressLike, reason: string];
  export type OutputTuple = [user: string, reason: string];
  export interface OutputObject {
    user: string;
    reason: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace UserSignalsResetForAppEvent {
  export type InputTuple = [user: AddressLike, app: BytesLike, reason: string];
  export type OutputTuple = [user: string, app: string, reason: string];
  export interface OutputObject {
    user: string;
    app: string;
    reason: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace UserWhitelistedEvent {
  export type InputTuple = [user: AddressLike, whitelistedBy: AddressLike];
  export type OutputTuple = [user: string, whitelistedBy: string];
  export interface OutputObject {
    user: string;
    whitelistedBy: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export interface IVeBetterPassport extends BaseContract {
  connect(runner?: ContractRunner | null): IVeBetterPassport;
  waitForDeployment(): Promise<this>;

  interface: IVeBetterPassportInterface;

  queryFilter<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    fromBlockOrBlockhash?: string | number | undefined,
    toBlock?: string | number | undefined
  ): Promise<Array<TypedEventLog<TCEvent>>>;
  queryFilter<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    fromBlockOrBlockhash?: string | number | undefined,
    toBlock?: string | number | undefined
  ): Promise<Array<TypedEventLog<TCEvent>>>;

  on<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    listener: TypedListener<TCEvent>
  ): Promise<this>;
  on<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    listener: TypedListener<TCEvent>
  ): Promise<this>;

  once<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    listener: TypedListener<TCEvent>
  ): Promise<this>;
  once<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    listener: TypedListener<TCEvent>
  ): Promise<this>;

  listeners<TCEvent extends TypedContractEvent>(
    event: TCEvent
  ): Promise<Array<TypedListener<TCEvent>>>;
  listeners(eventName?: string): Promise<Array<Listener>>;
  removeAllListeners<TCEvent extends TypedContractEvent>(
    event?: TCEvent
  ): Promise<this>;

  CLOCK_MODE: TypedContractMethod<[], [string], "view">;

  acceptDelegation: TypedContractMethod<
    [delegator: AddressLike],
    [void],
    "nonpayable"
  >;

  acceptEntityLink: TypedContractMethod<
    [entity: AddressLike],
    [void],
    "nonpayable"
  >;

  appRoundActionCount: TypedContractMethod<
    [appId: BytesLike, round: BigNumberish],
    [bigint],
    "view"
  >;

  appSecurity: TypedContractMethod<[appId: BytesLike], [bigint], "view">;

  appTotalSignalsCounter: TypedContractMethod<
    [app: BytesLike],
    [bigint],
    "view"
  >;

  assignSignalerToApp: TypedContractMethod<
    [app: BytesLike, user: AddressLike],
    [void],
    "nonpayable"
  >;

  blacklistThreshold: TypedContractMethod<[], [bigint], "view">;

  cancelOutgoingPendingDelegation: TypedContractMethod<
    [],
    [void],
    "nonpayable"
  >;

  cancelOutgoingPendingEntityLink: TypedContractMethod<
    [],
    [void],
    "nonpayable"
  >;

  clock: TypedContractMethod<[], [bigint], "view">;

  decayRate: TypedContractMethod<[], [bigint], "view">;

  delegatePassport: TypedContractMethod<
    [delegatee: AddressLike],
    [void],
    "nonpayable"
  >;

  denyIncomingPendingDelegation: TypedContractMethod<
    [delegator: AddressLike],
    [void],
    "nonpayable"
  >;

  denyIncomingPendingEntityLink: TypedContractMethod<
    [entity: AddressLike],
    [void],
    "nonpayable"
  >;

  eip712Domain: TypedContractMethod<
    [],
    [
      [string, string, string, bigint, string, string, bigint[]] & {
        fields: string;
        name: string;
        signatureVersion: string;
        chainId: bigint;
        verifyingContract: string;
        salt: string;
        extensions: bigint[];
      }
    ],
    "view"
  >;

  getCumulativeScoreWithDecay: TypedContractMethod<
    [user: AddressLike, lastRound: BigNumberish],
    [bigint],
    "view"
  >;

  getDelegatee: TypedContractMethod<[delegator: AddressLike], [string], "view">;

  getDelegateeInTimepoint: TypedContractMethod<
    [delegator: AddressLike, timepoint: BigNumberish],
    [string],
    "view"
  >;

  getDelegator: TypedContractMethod<[delegatee: AddressLike], [string], "view">;

  getDelegatorInTimepoint: TypedContractMethod<
    [delegatee: AddressLike, timepoint: BigNumberish],
    [string],
    "view"
  >;

  getEntitiesLinkedToPassport: TypedContractMethod<
    [passport: AddressLike],
    [string[]],
    "view"
  >;

  getMinimumGalaxyMemberLevel: TypedContractMethod<[], [bigint], "view">;

  getPassportForEntity: TypedContractMethod<
    [entity: AddressLike],
    [string],
    "view"
  >;

  getPassportForEntityAtTimepoint: TypedContractMethod<
    [entity: AddressLike, timepoint: BigNumberish],
    [string],
    "view"
  >;

  getPendingDelegations: TypedContractMethod<
    [user: AddressLike],
    [[string[], string] & { incoming: string[]; outgoing: string }],
    "view"
  >;

  getPendingLinkings: TypedContractMethod<
    [user: AddressLike],
    [[string[], string] & { incoming: string[]; outgoing: string }],
    "view"
  >;

  grantRole: TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;

  initialize: TypedContractMethod<
    [
      data: PassportTypes.InitializationDataStruct,
      roles: PassportTypes.InitializationRoleDataStruct
    ],
    [void],
    "nonpayable"
  >;

  isBlacklisted: TypedContractMethod<[_user: AddressLike], [boolean], "view">;

  isCheckEnabled: TypedContractMethod<[check: BigNumberish], [boolean], "view">;

  isDelegatee: TypedContractMethod<[user: AddressLike], [boolean], "view">;

  isDelegateeInTimepoint: TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;

  isDelegator: TypedContractMethod<[user: AddressLike], [boolean], "view">;

  isDelegatorInTimepoint: TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;

  isEntity: TypedContractMethod<[user: AddressLike], [boolean], "view">;

  isEntityInTimepoint: TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;

  isPassport: TypedContractMethod<[user: AddressLike], [boolean], "view">;

  isPassportInTimepoint: TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;

  isPerson: TypedContractMethod<
    [user: AddressLike],
    [[boolean, string] & { person: boolean; reason: string }],
    "view"
  >;

  isPersonAtTimepoint: TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [[boolean, string] & { person: boolean; reason: string }],
    "view"
  >;

  isWhitelisted: TypedContractMethod<[_user: AddressLike], [boolean], "view">;

  linkEntityToPassport: TypedContractMethod<
    [passport: AddressLike],
    [void],
    "nonpayable"
  >;

  linkEntityToPassportWithSignature: TypedContractMethod<
    [entity: AddressLike, deadline: BigNumberish, signature: BytesLike],
    [void],
    "nonpayable"
  >;

  maxEntitiesPerPassport: TypedContractMethod<[], [bigint], "view">;

  minimumGalaxyMemberLevel: TypedContractMethod<[], [bigint], "view">;

  registerAction: TypedContractMethod<
    [user: AddressLike, appId: BytesLike],
    [void],
    "nonpayable"
  >;

  registerActionForRound: TypedContractMethod<
    [user: AddressLike, appId: BytesLike, round: BigNumberish],
    [void],
    "nonpayable"
  >;

  removeEntityLink: TypedContractMethod<
    [entity: AddressLike],
    [void],
    "nonpayable"
  >;

  removeSignalerFromApp: TypedContractMethod<
    [user: AddressLike],
    [void],
    "nonpayable"
  >;

  resetUserSignalsWithReason: TypedContractMethod<
    [user: AddressLike, reason: string],
    [void],
    "nonpayable"
  >;

  revokeDelegation: TypedContractMethod<[], [void], "nonpayable">;

  revokeRole: TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;

  roundsForCumulativeScore: TypedContractMethod<[], [bigint], "view">;

  securityMultiplier: TypedContractMethod<
    [security: BigNumberish],
    [bigint],
    "view"
  >;

  setAppSecurity: TypedContractMethod<
    [appId: BytesLike, security: BigNumberish],
    [void],
    "nonpayable"
  >;

  setBlacklistThreshold: TypedContractMethod<
    [_threshold: BigNumberish],
    [void],
    "nonpayable"
  >;

  setDecayRate: TypedContractMethod<
    [decayRate: BigNumberish],
    [void],
    "nonpayable"
  >;

  setMaxEntitiesPerPassport: TypedContractMethod<
    [maxEntities: BigNumberish],
    [void],
    "nonpayable"
  >;

  setRoundsForCumulativeScore: TypedContractMethod<
    [rounds: BigNumberish],
    [void],
    "nonpayable"
  >;

  setSecurityMultiplier: TypedContractMethod<
    [security: BigNumberish, multiplier: BigNumberish],
    [void],
    "nonpayable"
  >;

  setSignalingThreshold: TypedContractMethod<
    [threshold: BigNumberish],
    [void],
    "nonpayable"
  >;

  setThresholdPoPScore: TypedContractMethod<
    [threshold: BigNumberish],
    [void],
    "nonpayable"
  >;

  setWhitelistThreshold: TypedContractMethod<
    [_threshold: BigNumberish],
    [void],
    "nonpayable"
  >;

  setX2EarnApps: TypedContractMethod<
    [_x2EarnApps: AddressLike],
    [void],
    "nonpayable"
  >;

  setXAllocationVoting: TypedContractMethod<
    [xAllocationVoting: AddressLike],
    [void],
    "nonpayable"
  >;

  signalUser: TypedContractMethod<[_user: AddressLike], [void], "nonpayable">;

  signalUserWithReason: TypedContractMethod<
    [_user: AddressLike, reason: string],
    [void],
    "nonpayable"
  >;

  signalingThreshold: TypedContractMethod<[], [bigint], "view">;

  thresholdPoPScore: TypedContractMethod<[], [bigint], "view">;

  thresholdPoPScoreAtTimepoint: TypedContractMethod<
    [timepoint: BigNumberish],
    [bigint],
    "view"
  >;

  toggleCheck: TypedContractMethod<[check: BigNumberish], [void], "nonpayable">;

  userAppTotalScore: TypedContractMethod<
    [user: AddressLike, appId: BytesLike],
    [bigint],
    "view"
  >;

  userInteractedApps: TypedContractMethod<
    [user: AddressLike],
    [string[]],
    "view"
  >;

  userRoundActionCount: TypedContractMethod<
    [user: AddressLike, round: BigNumberish],
    [bigint],
    "view"
  >;

  userRoundActionCountApp: TypedContractMethod<
    [user: AddressLike, round: BigNumberish, appId: BytesLike],
    [bigint],
    "view"
  >;

  userRoundAppCount: TypedContractMethod<
    [user: AddressLike, round: BigNumberish],
    [bigint],
    "view"
  >;

  userRoundScore: TypedContractMethod<
    [user: AddressLike, round: BigNumberish],
    [bigint],
    "view"
  >;

  userRoundScoreApp: TypedContractMethod<
    [user: AddressLike, round: BigNumberish, appId: BytesLike],
    [bigint],
    "view"
  >;

  userTotalScore: TypedContractMethod<[user: AddressLike], [bigint], "view">;

  userUniqueAppInteraction: TypedContractMethod<
    [user: AddressLike, appId: BytesLike],
    [boolean],
    "view"
  >;

  version: TypedContractMethod<[], [string], "view">;

  whitelistThreshold: TypedContractMethod<[], [bigint], "view">;

  getFunction<T extends ContractMethod = ContractMethod>(
    key: string | FunctionFragment
  ): T;

  getFunction(
    nameOrSignature: "CLOCK_MODE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "acceptDelegation"
  ): TypedContractMethod<[delegator: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "acceptEntityLink"
  ): TypedContractMethod<[entity: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "appRoundActionCount"
  ): TypedContractMethod<
    [appId: BytesLike, round: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "appSecurity"
  ): TypedContractMethod<[appId: BytesLike], [bigint], "view">;
  getFunction(
    nameOrSignature: "appTotalSignalsCounter"
  ): TypedContractMethod<[app: BytesLike], [bigint], "view">;
  getFunction(
    nameOrSignature: "assignSignalerToApp"
  ): TypedContractMethod<
    [app: BytesLike, user: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "blacklistThreshold"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "cancelOutgoingPendingDelegation"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "cancelOutgoingPendingEntityLink"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "clock"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "decayRate"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "delegatePassport"
  ): TypedContractMethod<[delegatee: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "denyIncomingPendingDelegation"
  ): TypedContractMethod<[delegator: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "denyIncomingPendingEntityLink"
  ): TypedContractMethod<[entity: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "eip712Domain"
  ): TypedContractMethod<
    [],
    [
      [string, string, string, bigint, string, string, bigint[]] & {
        fields: string;
        name: string;
        signatureVersion: string;
        chainId: bigint;
        verifyingContract: string;
        salt: string;
        extensions: bigint[];
      }
    ],
    "view"
  >;
  getFunction(
    nameOrSignature: "getCumulativeScoreWithDecay"
  ): TypedContractMethod<
    [user: AddressLike, lastRound: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "getDelegatee"
  ): TypedContractMethod<[delegator: AddressLike], [string], "view">;
  getFunction(
    nameOrSignature: "getDelegateeInTimepoint"
  ): TypedContractMethod<
    [delegator: AddressLike, timepoint: BigNumberish],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "getDelegator"
  ): TypedContractMethod<[delegatee: AddressLike], [string], "view">;
  getFunction(
    nameOrSignature: "getDelegatorInTimepoint"
  ): TypedContractMethod<
    [delegatee: AddressLike, timepoint: BigNumberish],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "getEntitiesLinkedToPassport"
  ): TypedContractMethod<[passport: AddressLike], [string[]], "view">;
  getFunction(
    nameOrSignature: "getMinimumGalaxyMemberLevel"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getPassportForEntity"
  ): TypedContractMethod<[entity: AddressLike], [string], "view">;
  getFunction(
    nameOrSignature: "getPassportForEntityAtTimepoint"
  ): TypedContractMethod<
    [entity: AddressLike, timepoint: BigNumberish],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "getPendingDelegations"
  ): TypedContractMethod<
    [user: AddressLike],
    [[string[], string] & { incoming: string[]; outgoing: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "getPendingLinkings"
  ): TypedContractMethod<
    [user: AddressLike],
    [[string[], string] & { incoming: string[]; outgoing: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "grantRole"
  ): TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "initialize"
  ): TypedContractMethod<
    [
      data: PassportTypes.InitializationDataStruct,
      roles: PassportTypes.InitializationRoleDataStruct
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "isBlacklisted"
  ): TypedContractMethod<[_user: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "isCheckEnabled"
  ): TypedContractMethod<[check: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "isDelegatee"
  ): TypedContractMethod<[user: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "isDelegateeInTimepoint"
  ): TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "isDelegator"
  ): TypedContractMethod<[user: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "isDelegatorInTimepoint"
  ): TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "isEntity"
  ): TypedContractMethod<[user: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "isEntityInTimepoint"
  ): TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "isPassport"
  ): TypedContractMethod<[user: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "isPassportInTimepoint"
  ): TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "isPerson"
  ): TypedContractMethod<
    [user: AddressLike],
    [[boolean, string] & { person: boolean; reason: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "isPersonAtTimepoint"
  ): TypedContractMethod<
    [user: AddressLike, timepoint: BigNumberish],
    [[boolean, string] & { person: boolean; reason: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "isWhitelisted"
  ): TypedContractMethod<[_user: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "linkEntityToPassport"
  ): TypedContractMethod<[passport: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "linkEntityToPassportWithSignature"
  ): TypedContractMethod<
    [entity: AddressLike, deadline: BigNumberish, signature: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "maxEntitiesPerPassport"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "minimumGalaxyMemberLevel"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "registerAction"
  ): TypedContractMethod<
    [user: AddressLike, appId: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "registerActionForRound"
  ): TypedContractMethod<
    [user: AddressLike, appId: BytesLike, round: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "removeEntityLink"
  ): TypedContractMethod<[entity: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "removeSignalerFromApp"
  ): TypedContractMethod<[user: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "resetUserSignalsWithReason"
  ): TypedContractMethod<
    [user: AddressLike, reason: string],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "revokeDelegation"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "revokeRole"
  ): TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "roundsForCumulativeScore"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "securityMultiplier"
  ): TypedContractMethod<[security: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "setAppSecurity"
  ): TypedContractMethod<
    [appId: BytesLike, security: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setBlacklistThreshold"
  ): TypedContractMethod<[_threshold: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setDecayRate"
  ): TypedContractMethod<[decayRate: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setMaxEntitiesPerPassport"
  ): TypedContractMethod<[maxEntities: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setRoundsForCumulativeScore"
  ): TypedContractMethod<[rounds: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setSecurityMultiplier"
  ): TypedContractMethod<
    [security: BigNumberish, multiplier: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setSignalingThreshold"
  ): TypedContractMethod<[threshold: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setThresholdPoPScore"
  ): TypedContractMethod<[threshold: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setWhitelistThreshold"
  ): TypedContractMethod<[_threshold: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setX2EarnApps"
  ): TypedContractMethod<[_x2EarnApps: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setXAllocationVoting"
  ): TypedContractMethod<
    [xAllocationVoting: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "signalUser"
  ): TypedContractMethod<[_user: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "signalUserWithReason"
  ): TypedContractMethod<
    [_user: AddressLike, reason: string],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "signalingThreshold"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "thresholdPoPScore"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "thresholdPoPScoreAtTimepoint"
  ): TypedContractMethod<[timepoint: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "toggleCheck"
  ): TypedContractMethod<[check: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "userAppTotalScore"
  ): TypedContractMethod<
    [user: AddressLike, appId: BytesLike],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "userInteractedApps"
  ): TypedContractMethod<[user: AddressLike], [string[]], "view">;
  getFunction(
    nameOrSignature: "userRoundActionCount"
  ): TypedContractMethod<
    [user: AddressLike, round: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "userRoundActionCountApp"
  ): TypedContractMethod<
    [user: AddressLike, round: BigNumberish, appId: BytesLike],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "userRoundAppCount"
  ): TypedContractMethod<
    [user: AddressLike, round: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "userRoundScore"
  ): TypedContractMethod<
    [user: AddressLike, round: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "userRoundScoreApp"
  ): TypedContractMethod<
    [user: AddressLike, round: BigNumberish, appId: BytesLike],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "userTotalScore"
  ): TypedContractMethod<[user: AddressLike], [bigint], "view">;
  getFunction(
    nameOrSignature: "userUniqueAppInteraction"
  ): TypedContractMethod<
    [user: AddressLike, appId: BytesLike],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "version"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "whitelistThreshold"
  ): TypedContractMethod<[], [bigint], "view">;

  getEvent(
    key: "CheckToggled"
  ): TypedContractEvent<
    CheckToggledEvent.InputTuple,
    CheckToggledEvent.OutputTuple,
    CheckToggledEvent.OutputObject
  >;
  getEvent(
    key: "DelegationCreated"
  ): TypedContractEvent<
    DelegationCreatedEvent.InputTuple,
    DelegationCreatedEvent.OutputTuple,
    DelegationCreatedEvent.OutputObject
  >;
  getEvent(
    key: "DelegationPending"
  ): TypedContractEvent<
    DelegationPendingEvent.InputTuple,
    DelegationPendingEvent.OutputTuple,
    DelegationPendingEvent.OutputObject
  >;
  getEvent(
    key: "DelegationRevoked"
  ): TypedContractEvent<
    DelegationRevokedEvent.InputTuple,
    DelegationRevokedEvent.OutputTuple,
    DelegationRevokedEvent.OutputObject
  >;
  getEvent(
    key: "LinkCreated"
  ): TypedContractEvent<
    LinkCreatedEvent.InputTuple,
    LinkCreatedEvent.OutputTuple,
    LinkCreatedEvent.OutputObject
  >;
  getEvent(
    key: "LinkPending"
  ): TypedContractEvent<
    LinkPendingEvent.InputTuple,
    LinkPendingEvent.OutputTuple,
    LinkPendingEvent.OutputObject
  >;
  getEvent(
    key: "LinkRemoved"
  ): TypedContractEvent<
    LinkRemovedEvent.InputTuple,
    LinkRemovedEvent.OutputTuple,
    LinkRemovedEvent.OutputObject
  >;
  getEvent(
    key: "MinimumGalaxyMemberLevelSet"
  ): TypedContractEvent<
    MinimumGalaxyMemberLevelSetEvent.InputTuple,
    MinimumGalaxyMemberLevelSetEvent.OutputTuple,
    MinimumGalaxyMemberLevelSetEvent.OutputObject
  >;
  getEvent(
    key: "RegisteredAction"
  ): TypedContractEvent<
    RegisteredActionEvent.InputTuple,
    RegisteredActionEvent.OutputTuple,
    RegisteredActionEvent.OutputObject
  >;
  getEvent(
    key: "RemovedUserFromBlacklist"
  ): TypedContractEvent<
    RemovedUserFromBlacklistEvent.InputTuple,
    RemovedUserFromBlacklistEvent.OutputTuple,
    RemovedUserFromBlacklistEvent.OutputObject
  >;
  getEvent(
    key: "RemovedUserFromWhitelist"
  ): TypedContractEvent<
    RemovedUserFromWhitelistEvent.InputTuple,
    RemovedUserFromWhitelistEvent.OutputTuple,
    RemovedUserFromWhitelistEvent.OutputObject
  >;
  getEvent(
    key: "SignalerAssignedToApp"
  ): TypedContractEvent<
    SignalerAssignedToAppEvent.InputTuple,
    SignalerAssignedToAppEvent.OutputTuple,
    SignalerAssignedToAppEvent.OutputObject
  >;
  getEvent(
    key: "SignalerRemovedFromApp"
  ): TypedContractEvent<
    SignalerRemovedFromAppEvent.InputTuple,
    SignalerRemovedFromAppEvent.OutputTuple,
    SignalerRemovedFromAppEvent.OutputObject
  >;
  getEvent(
    key: "UserBlacklisted"
  ): TypedContractEvent<
    UserBlacklistedEvent.InputTuple,
    UserBlacklistedEvent.OutputTuple,
    UserBlacklistedEvent.OutputObject
  >;
  getEvent(
    key: "UserSignaled"
  ): TypedContractEvent<
    UserSignaledEvent.InputTuple,
    UserSignaledEvent.OutputTuple,
    UserSignaledEvent.OutputObject
  >;
  getEvent(
    key: "UserSignalsReset"
  ): TypedContractEvent<
    UserSignalsResetEvent.InputTuple,
    UserSignalsResetEvent.OutputTuple,
    UserSignalsResetEvent.OutputObject
  >;
  getEvent(
    key: "UserSignalsResetForApp"
  ): TypedContractEvent<
    UserSignalsResetForAppEvent.InputTuple,
    UserSignalsResetForAppEvent.OutputTuple,
    UserSignalsResetForAppEvent.OutputObject
  >;
  getEvent(
    key: "UserWhitelisted"
  ): TypedContractEvent<
    UserWhitelistedEvent.InputTuple,
    UserWhitelistedEvent.OutputTuple,
    UserWhitelistedEvent.OutputObject
  >;

  filters: {
    "CheckToggled(string,bool)": TypedContractEvent<
      CheckToggledEvent.InputTuple,
      CheckToggledEvent.OutputTuple,
      CheckToggledEvent.OutputObject
    >;
    CheckToggled: TypedContractEvent<
      CheckToggledEvent.InputTuple,
      CheckToggledEvent.OutputTuple,
      CheckToggledEvent.OutputObject
    >;

    "DelegationCreated(address,address)": TypedContractEvent<
      DelegationCreatedEvent.InputTuple,
      DelegationCreatedEvent.OutputTuple,
      DelegationCreatedEvent.OutputObject
    >;
    DelegationCreated: TypedContractEvent<
      DelegationCreatedEvent.InputTuple,
      DelegationCreatedEvent.OutputTuple,
      DelegationCreatedEvent.OutputObject
    >;

    "DelegationPending(address,address)": TypedContractEvent<
      DelegationPendingEvent.InputTuple,
      DelegationPendingEvent.OutputTuple,
      DelegationPendingEvent.OutputObject
    >;
    DelegationPending: TypedContractEvent<
      DelegationPendingEvent.InputTuple,
      DelegationPendingEvent.OutputTuple,
      DelegationPendingEvent.OutputObject
    >;

    "DelegationRevoked(address,address)": TypedContractEvent<
      DelegationRevokedEvent.InputTuple,
      DelegationRevokedEvent.OutputTuple,
      DelegationRevokedEvent.OutputObject
    >;
    DelegationRevoked: TypedContractEvent<
      DelegationRevokedEvent.InputTuple,
      DelegationRevokedEvent.OutputTuple,
      DelegationRevokedEvent.OutputObject
    >;

    "LinkCreated(address,address)": TypedContractEvent<
      LinkCreatedEvent.InputTuple,
      LinkCreatedEvent.OutputTuple,
      LinkCreatedEvent.OutputObject
    >;
    LinkCreated: TypedContractEvent<
      LinkCreatedEvent.InputTuple,
      LinkCreatedEvent.OutputTuple,
      LinkCreatedEvent.OutputObject
    >;

    "LinkPending(address,address)": TypedContractEvent<
      LinkPendingEvent.InputTuple,
      LinkPendingEvent.OutputTuple,
      LinkPendingEvent.OutputObject
    >;
    LinkPending: TypedContractEvent<
      LinkPendingEvent.InputTuple,
      LinkPendingEvent.OutputTuple,
      LinkPendingEvent.OutputObject
    >;

    "LinkRemoved(address,address)": TypedContractEvent<
      LinkRemovedEvent.InputTuple,
      LinkRemovedEvent.OutputTuple,
      LinkRemovedEvent.OutputObject
    >;
    LinkRemoved: TypedContractEvent<
      LinkRemovedEvent.InputTuple,
      LinkRemovedEvent.OutputTuple,
      LinkRemovedEvent.OutputObject
    >;

    "MinimumGalaxyMemberLevelSet(uint256)": TypedContractEvent<
      MinimumGalaxyMemberLevelSetEvent.InputTuple,
      MinimumGalaxyMemberLevelSetEvent.OutputTuple,
      MinimumGalaxyMemberLevelSetEvent.OutputObject
    >;
    MinimumGalaxyMemberLevelSet: TypedContractEvent<
      MinimumGalaxyMemberLevelSetEvent.InputTuple,
      MinimumGalaxyMemberLevelSetEvent.OutputTuple,
      MinimumGalaxyMemberLevelSetEvent.OutputObject
    >;

    "RegisteredAction(address,address,bytes32,uint256,uint256)": TypedContractEvent<
      RegisteredActionEvent.InputTuple,
      RegisteredActionEvent.OutputTuple,
      RegisteredActionEvent.OutputObject
    >;
    RegisteredAction: TypedContractEvent<
      RegisteredActionEvent.InputTuple,
      RegisteredActionEvent.OutputTuple,
      RegisteredActionEvent.OutputObject
    >;

    "RemovedUserFromBlacklist(address,address)": TypedContractEvent<
      RemovedUserFromBlacklistEvent.InputTuple,
      RemovedUserFromBlacklistEvent.OutputTuple,
      RemovedUserFromBlacklistEvent.OutputObject
    >;
    RemovedUserFromBlacklist: TypedContractEvent<
      RemovedUserFromBlacklistEvent.InputTuple,
      RemovedUserFromBlacklistEvent.OutputTuple,
      RemovedUserFromBlacklistEvent.OutputObject
    >;

    "RemovedUserFromWhitelist(address,address,address)": TypedContractEvent<
      RemovedUserFromWhitelistEvent.InputTuple,
      RemovedUserFromWhitelistEvent.OutputTuple,
      RemovedUserFromWhitelistEvent.OutputObject
    >;
    RemovedUserFromWhitelist: TypedContractEvent<
      RemovedUserFromWhitelistEvent.InputTuple,
      RemovedUserFromWhitelistEvent.OutputTuple,
      RemovedUserFromWhitelistEvent.OutputObject
    >;

    "SignalerAssignedToApp(address,bytes32)": TypedContractEvent<
      SignalerAssignedToAppEvent.InputTuple,
      SignalerAssignedToAppEvent.OutputTuple,
      SignalerAssignedToAppEvent.OutputObject
    >;
    SignalerAssignedToApp: TypedContractEvent<
      SignalerAssignedToAppEvent.InputTuple,
      SignalerAssignedToAppEvent.OutputTuple,
      SignalerAssignedToAppEvent.OutputObject
    >;

    "SignalerRemovedFromApp(address,bytes32)": TypedContractEvent<
      SignalerRemovedFromAppEvent.InputTuple,
      SignalerRemovedFromAppEvent.OutputTuple,
      SignalerRemovedFromAppEvent.OutputObject
    >;
    SignalerRemovedFromApp: TypedContractEvent<
      SignalerRemovedFromAppEvent.InputTuple,
      SignalerRemovedFromAppEvent.OutputTuple,
      SignalerRemovedFromAppEvent.OutputObject
    >;

    "UserBlacklisted(address,address)": TypedContractEvent<
      UserBlacklistedEvent.InputTuple,
      UserBlacklistedEvent.OutputTuple,
      UserBlacklistedEvent.OutputObject
    >;
    UserBlacklisted: TypedContractEvent<
      UserBlacklistedEvent.InputTuple,
      UserBlacklistedEvent.OutputTuple,
      UserBlacklistedEvent.OutputObject
    >;

    "UserSignaled(address,address,bytes32,string)": TypedContractEvent<
      UserSignaledEvent.InputTuple,
      UserSignaledEvent.OutputTuple,
      UserSignaledEvent.OutputObject
    >;
    UserSignaled: TypedContractEvent<
      UserSignaledEvent.InputTuple,
      UserSignaledEvent.OutputTuple,
      UserSignaledEvent.OutputObject
    >;

    "UserSignalsReset(address,string)": TypedContractEvent<
      UserSignalsResetEvent.InputTuple,
      UserSignalsResetEvent.OutputTuple,
      UserSignalsResetEvent.OutputObject
    >;
    UserSignalsReset: TypedContractEvent<
      UserSignalsResetEvent.InputTuple,
      UserSignalsResetEvent.OutputTuple,
      UserSignalsResetEvent.OutputObject
    >;

    "UserSignalsResetForApp(address,bytes32,string)": TypedContractEvent<
      UserSignalsResetForAppEvent.InputTuple,
      UserSignalsResetForAppEvent.OutputTuple,
      UserSignalsResetForAppEvent.OutputObject
    >;
    UserSignalsResetForApp: TypedContractEvent<
      UserSignalsResetForAppEvent.InputTuple,
      UserSignalsResetForAppEvent.OutputTuple,
      UserSignalsResetForAppEvent.OutputObject
    >;

    "UserWhitelisted(address,address)": TypedContractEvent<
      UserWhitelistedEvent.InputTuple,
      UserWhitelistedEvent.OutputTuple,
      UserWhitelistedEvent.OutputObject
    >;
    UserWhitelisted: TypedContractEvent<
      UserWhitelistedEvent.InputTuple,
      UserWhitelistedEvent.OutputTuple,
      UserWhitelistedEvent.OutputObject
    >;
  };
}
