import type { Address, Hex } from "viem"; export type Erc7579CallType = "single" | "batch"; export type Erc7579ExecType = "default" | "try"; export type Erc7579ModeCode = Hex; export type Erc7579Execution = { readonly target: Address; readonly value: bigint; readonly callData: Hex; }; export declare const erc7579AccountAbi: readonly [{ readonly inputs: readonly [{ readonly name: "mode"; readonly type: "bytes32"; }, { readonly name: "executionCalldata"; readonly type: "bytes"; }]; readonly name: "execute"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }]; export declare function encodeErc7579BatchExecutionCalldata(executions: readonly Erc7579Execution[]): Hex; export declare function encodeErc7579ExecuteCalldata(params: { readonly mode: Erc7579ModeCode; readonly executionCalldata: Hex; }): Hex; export declare function encodeErc7579SimpleMode(params: { readonly callType: Erc7579CallType; readonly execType?: Erc7579ExecType | undefined; }): Erc7579ModeCode; export declare const ERC7579_MODE_SIMPLE_SINGLE: `0x${string}`; export declare const ERC7579_MODE_SIMPLE_BATCH: `0x${string}`; export declare const ERC7579_MODE_SIMPLE_SINGLE_TRY: `0x${string}`; export declare const ERC7579_MODE_SIMPLE_BATCH_TRY: `0x${string}`; //# sourceMappingURL=erc7579.d.ts.map