import { type GetAccountParameter, type SmartContractAccount } from "@aa-sdk/core"; import type { Address, Chain, Client, Hash, Transport } from "viem"; import type { ExecutionFunctionConfig, ExecutionHooks, FunctionReference, PreValidationHooks } from "./types.js"; export type AccountLoupeActions = { getExecutionFunctionConfig(args: { selector: FunctionReference; } & GetAccountParameter): Promise; getExecutionHooks(args: { selector: FunctionReference; } & GetAccountParameter): Promise>; getPreValidationHooks(args: { selector: Hash; } & GetAccountParameter): Promise>; getInstalledPlugins(args: GetAccountParameter): Promise>; }; /** * Provides a set of actions for account loupe operations using the specified client. * NOTE: this is already added to the client when using any of the Modular Account Clients. * * @example * ```ts * import { accountLoupeActions } from "@account-kit/smart-contracts"; * import { createSmartAccountClient } from "@aa-sdk/core"; * * const client = createSmartAccountClient(...).extend(accountLoupeActions); * ``` * * @param {Client} client the client to be used for executing the account loupe actions * @returns {AccountLoupeActions} an object containing account loupe actions like `getExecutionFunctionConfig`, `getExecutionHooks`, `getPreValidationHooks`, and `getInstalledPlugins` */ export declare const accountLoupeActions: (client: Client) => AccountLoupeActions;