import { type Hex } from "viem"; import { type SmartAccountSigner } from "../account"; import { BaseValidationModule } from "./BaseValidationModule.js"; import { SessionKeyManagerModule } from "./SessionKeyManagerModule.js"; import type { SessionSearchParam, SessionStatus } from "./interfaces/ISessionStorage.js"; import type { BatchedSessionRouterModuleConfig, CreateSessionDataParams, CreateSessionDataResponse, ModuleInfo, ModuleVersion } from "./utils/Types.js"; export declare class BatchedSessionRouterModule extends BaseValidationModule { version: ModuleVersion; moduleAddress: Hex; sessionManagerModuleAddress: Hex; sessionKeyManagerModule: SessionKeyManagerModule; readonly mockEcdsaSessionKeySig: Hex; /** * This constructor is private. Use the static create method to instantiate SessionKeyManagerModule * @param moduleConfig The configuration for the module * @returns An instance of SessionKeyManagerModule */ private constructor(); /** * Asynchronously creates and initializes an instance of SessionKeyManagerModule * @param moduleConfig The configuration for the module * @returns A Promise that resolves to an instance of SessionKeyManagerModule */ static create(moduleConfig: BatchedSessionRouterModuleConfig): Promise; /** * Method to create session data for any module. The session data is used to create a leaf in the merkle tree * @param leavesData The data of one or more leaves to be used to create session data * @returns The session data */ createSessionData: (leavesData: CreateSessionDataParams[]) => Promise; /** * This method is used to sign the user operation using the session signer * @param userOp The user operation to be signed * @param sessionParams Information about all the sessions to be used to sign the user operation which has a batch execution * @returns The signature of the user operation */ signUserOpHash(userOpHash: string, params?: ModuleInfo): Promise; /** * Update the session data pending state to active * @param param The search param to find the session data * @param status The status to be updated * @returns */ updateSessionStatus(param: SessionSearchParam, status: SessionStatus): Promise; /** * @remarks This method is used to clear all the pending sessions * @returns */ clearPendingSessions(): Promise; /** * @returns SessionKeyManagerModule address */ getAddress(): Hex; /** * @returns SessionKeyManagerModule address */ getSessionKeyManagerAddress(): Hex; /** * @remarks This is the version of the module contract */ getSigner(): Promise; /** * @remarks This is the dummy signature for the module, used in buildUserOp for bundler estimation * @returns Dummy signature */ getDummySignature(params?: ModuleInfo): Promise; /** * @remarks Other modules may need additional attributes to build init data */ getInitData(): Promise; /** * @remarks This Module dont have knowledge of signer. So, this method is not implemented */ signMessage(_message: Uint8Array | string): Promise; } //# sourceMappingURL=BatchedSessionRouterModule.d.ts.map