import { type Address, type Hex } from "viem"; import { type HookConfig } from "../../actions/common/types.js"; export declare const TimeRangeModule: { abi: readonly [{ readonly type: "function"; readonly name: "moduleId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; readonly internalType: "string"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "onInstall"; readonly inputs: readonly [{ readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "onUninstall"; readonly inputs: readonly [{ readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "preRuntimeValidationHook"; readonly inputs: readonly [{ readonly name: "entityId"; readonly type: "uint32"; readonly internalType: "uint32"; }, { readonly name: ""; readonly type: "address"; readonly internalType: "address"; }, { readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "preSignatureValidationHook"; readonly inputs: readonly [{ readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32"; }, { readonly name: ""; readonly type: "address"; readonly internalType: "address"; }, { readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "preUserOpValidationHook"; readonly inputs: readonly [{ readonly name: "entityId"; readonly type: "uint32"; readonly internalType: "uint32"; }, { readonly name: "userOp"; readonly type: "tuple"; readonly internalType: "struct PackedUserOperation"; readonly components: readonly [{ readonly name: "sender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "initCode"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "accountGasLimits"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "preVerificationGas"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "gasFees"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "paymasterAndData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "signature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "setTimeRange"; readonly inputs: readonly [{ readonly name: "entityId"; readonly type: "uint32"; readonly internalType: "uint32"; }, { readonly name: "validUntil"; readonly type: "uint48"; readonly internalType: "uint48"; }, { readonly name: "validAfter"; readonly type: "uint48"; readonly internalType: "uint48"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; readonly internalType: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "timeRanges"; readonly inputs: readonly [{ readonly name: "entityId"; readonly type: "uint32"; readonly internalType: "uint32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: "validUntil"; readonly type: "uint48"; readonly internalType: "uint48"; }, { readonly name: "validAfter"; readonly type: "uint48"; readonly internalType: "uint48"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "TimeRangeSet"; readonly inputs: readonly [{ readonly name: "entityId"; readonly type: "uint32"; readonly indexed: true; readonly internalType: "uint32"; }, { readonly name: "account"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "validUntil"; readonly type: "uint48"; readonly indexed: false; readonly internalType: "uint48"; }, { readonly name: "validAfter"; readonly type: "uint48"; readonly indexed: false; readonly internalType: "uint48"; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "NotImplemented"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TimeRangeNotValid"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedDataPassed"; readonly inputs: readonly []; }]; buildHook: (installArgs: { entityId: number; validUntil: number; validAfter: number; }, address: Address) => { hookConfig: HookConfig; initData: Hex; }; encodeOnInstallData: (args: { entityId: number; validUntil: number; validAfter: number; }) => Hex; encodeOnUninstallData: (args: { entityId: number; }) => Hex; encodeSetTimeRange: (args: { entityId: number; validUntil: number; validAfter: number; }) => Hex; };