import { type GetAccountParameter, type IsUndefined, type SmartContractAccount } from "@aa-sdk/core"; import { type Address, type Chain, type Client, type Transport } from "viem"; import type { GetPluginAddressParameter } from "../types.js"; import { type MultiOwnerPluginActions as MultiOwnerPluginActions_ } from "./plugin.js"; export type MultiOwnerPluginActions = MultiOwnerPluginActions_ & { readOwners: (params: GetPluginAddressParameter & GetAccountParameter) => Promise>; isOwnerOf: (params: { address: Address; } & GetPluginAddressParameter & GetAccountParameter) => Promise; } & (IsUndefined extends false ? { readOwners: (params?: GetPluginAddressParameter & GetAccountParameter) => Promise>; } : {}); /** * Creates actions for the MultiOwner plugin, including reading owners and checking ownership. * NOTE: this is already added to the client returned from createMultiOwnerModularAccountClient * * @example * ```ts * import { multiOwnerPluginActions } from "@account-kit/smart-contracts"; * import { createSmartAccountClient } from "@aa-sdk/core"; * * const client = createSmartAccountClient(...).extend(multiOwnerPluginActions); * ``` * * @param {Client} client the client instance containing the transport, chain, and account information * @returns {MultiOwnerPluginActions} an object containing the actions for the MultiOwner plugin, such as `readOwners` and `isOwnerOf` */ export declare const multiOwnerPluginActions: (client: Client) => MultiOwnerPluginActions;