export declare const NexusBootstrapAbi: readonly [{
    readonly type: "constructor";
    readonly inputs: readonly [{
        readonly name: "defaultValidator";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "initData";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "error";
    readonly name: "CanNotRemoveLastValidator";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "DefaultValidatorAlreadyInstalled";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "EmergencyUninstallSigError";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "EnableModeSigError";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "FallbackAlreadyInstalledForSelector";
    readonly inputs: readonly [{
        readonly name: "selector";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
}, {
    readonly type: "error";
    readonly name: "FallbackCallTypeInvalid";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "FallbackHandlerUninstallFailed";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "FallbackNotInstalledForSelector";
    readonly inputs: readonly [{
        readonly name: "selector";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
}, {
    readonly type: "error";
    readonly name: "FallbackSelectorForbidden";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "HookAlreadyInstalled";
    readonly inputs: readonly [{
        readonly name: "currentHook";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "HookPostCheckFailed";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "InvalidInput";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "InvalidModule";
    readonly inputs: readonly [{
        readonly name: "module";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "InvalidModuleTypeId";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "InvalidNonce";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "LinkedList_AlreadyInitialized";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "LinkedList_EntryAlreadyInList";
    readonly inputs: readonly [{
        readonly name: "entry";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "LinkedList_InvalidEntry";
    readonly inputs: readonly [{
        readonly name: "entry";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "LinkedList_InvalidPage";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "MismatchModuleTypeId";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "MissingFallbackHandler";
    readonly inputs: readonly [{
        readonly name: "selector";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
}, {
    readonly type: "error";
    readonly name: "ModuleAddressCanNotBeZero";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "ModuleAlreadyInstalled";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "module";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "ModuleNotInstalled";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "module";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "NoValidatorInstalled";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "PrevalidationHookAlreadyInstalled";
    readonly inputs: readonly [{
        readonly name: "currentPreValidationHook";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "UnauthorizedOperation";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "UnsupportedCallType";
    readonly inputs: readonly [{
        readonly name: "callType";
        readonly type: "bytes1";
        readonly internalType: "CallType";
    }];
}, {
    readonly type: "error";
    readonly name: "ValidatorNotInstalled";
    readonly inputs: readonly [{
        readonly name: "module";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "event";
    readonly name: "ERC7484RegistryConfigured";
    readonly inputs: readonly [{
        readonly name: "registry";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "contract IERC7484";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ModuleInstalled";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "module";
        readonly type: "address";
        readonly indexed: false;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ModuleUninstalled";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "module";
        readonly type: "address";
        readonly indexed: false;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "fallback";
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "eip712Domain";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "fields";
        readonly type: "bytes1";
        readonly internalType: "bytes1";
    }, {
        readonly name: "name";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "version";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "chainId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "verifyingContract";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "salt";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }, {
        readonly name: "extensions";
        readonly type: "uint256[]";
        readonly internalType: "uint256[]";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getActiveHook";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "hook";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getExecutorsPaginated";
    readonly inputs: readonly [{
        readonly name: "cursor";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "size";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "array";
        readonly type: "address[]";
        readonly internalType: "address[]";
    }, {
        readonly name: "next";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getFallbackHandlerBySelector";
    readonly inputs: readonly [{
        readonly name: "selector";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bytes1";
        readonly internalType: "CallType";
    }, {
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getRegistry";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IERC7484";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getValidatorsPaginated";
    readonly inputs: readonly [{
        readonly name: "cursor";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "size";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "array";
        readonly type: "address[]";
        readonly internalType: "address[]";
    }, {
        readonly name: "next";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "initNexus";
    readonly inputs: readonly [{
        readonly name: "validators";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "executors";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "hook";
        readonly type: "tuple";
        readonly internalType: "struct BootstrapConfig";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "fallbacks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "preValidationHooks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapPreValidationHookConfig[]";
        readonly components: readonly [{
            readonly name: "hookType";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "registryConfig";
        readonly type: "tuple";
        readonly internalType: "struct RegistryConfig";
        readonly components: readonly [{
            readonly name: "registry";
            readonly type: "address";
            readonly internalType: "contract IERC7484";
        }, {
            readonly name: "attesters";
            readonly type: "address[]";
            readonly internalType: "address[]";
        }, {
            readonly name: "threshold";
            readonly type: "uint8";
            readonly internalType: "uint8";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusNoRegistry";
    readonly inputs: readonly [{
        readonly name: "validators";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "executors";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "hook";
        readonly type: "tuple";
        readonly internalType: "struct BootstrapConfig";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "fallbacks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "preValidationHooks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapPreValidationHookConfig[]";
        readonly components: readonly [{
            readonly name: "hookType";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusScoped";
    readonly inputs: readonly [{
        readonly name: "validators";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "hook";
        readonly type: "tuple";
        readonly internalType: "struct BootstrapConfig";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "registryConfig";
        readonly type: "tuple";
        readonly internalType: "struct RegistryConfig";
        readonly components: readonly [{
            readonly name: "registry";
            readonly type: "address";
            readonly internalType: "contract IERC7484";
        }, {
            readonly name: "attesters";
            readonly type: "address[]";
            readonly internalType: "address[]";
        }, {
            readonly name: "threshold";
            readonly type: "uint8";
            readonly internalType: "uint8";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusScopedNoRegistry";
    readonly inputs: readonly [{
        readonly name: "validators";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "hook";
        readonly type: "tuple";
        readonly internalType: "struct BootstrapConfig";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusWithDefaultValidator";
    readonly inputs: readonly [{
        readonly name: "data";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusWithDefaultValidatorAndOtherModules";
    readonly inputs: readonly [{
        readonly name: "defaultValidatorInitData";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }, {
        readonly name: "executors";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "hook";
        readonly type: "tuple";
        readonly internalType: "struct BootstrapConfig";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "fallbacks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "preValidationHooks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapPreValidationHookConfig[]";
        readonly components: readonly [{
            readonly name: "hookType";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "registryConfig";
        readonly type: "tuple";
        readonly internalType: "struct RegistryConfig";
        readonly components: readonly [{
            readonly name: "registry";
            readonly type: "address";
            readonly internalType: "contract IERC7484";
        }, {
            readonly name: "attesters";
            readonly type: "address[]";
            readonly internalType: "address[]";
        }, {
            readonly name: "threshold";
            readonly type: "uint8";
            readonly internalType: "uint8";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusWithDefaultValidatorAndOtherModulesNoRegistry";
    readonly inputs: readonly [{
        readonly name: "defaultValidatorInitData";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }, {
        readonly name: "validators";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "executors";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "hook";
        readonly type: "tuple";
        readonly internalType: "struct BootstrapConfig";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "fallbacks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapConfig[]";
        readonly components: readonly [{
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }, {
        readonly name: "preValidationHooks";
        readonly type: "tuple[]";
        readonly internalType: "struct BootstrapPreValidationHookConfig[]";
        readonly components: readonly [{
            readonly name: "hookType";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "module";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusWithSingleValidator";
    readonly inputs: readonly [{
        readonly name: "validator";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "data";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }, {
        readonly name: "registryConfig";
        readonly type: "tuple";
        readonly internalType: "struct RegistryConfig";
        readonly components: readonly [{
            readonly name: "registry";
            readonly type: "address";
            readonly internalType: "contract IERC7484";
        }, {
            readonly name: "attesters";
            readonly type: "address[]";
            readonly internalType: "address[]";
        }, {
            readonly name: "threshold";
            readonly type: "uint8";
            readonly internalType: "uint8";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "initNexusWithSingleValidatorNoRegistry";
    readonly inputs: readonly [{
        readonly name: "validator";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "data";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "installModule";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "module";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "initData";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "function";
    readonly name: "isModuleInstalled";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "module";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "additionalContext";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [{
        readonly name: "installed";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "uninstallModule";
    readonly inputs: readonly [{
        readonly name: "moduleTypeId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "module";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "deInitData";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
}, {
    readonly type: "receive";
    readonly stateMutability: "payable";
}];
