import type { SmartContractAccount } from "@aa-sdk/core"; import type { Address } from "abitype"; import type { WalletServerRpcSchemaType } from "@alchemy/wallet-api-types/rpc"; import type { InnerWalletApiClient } from "../../types.js"; import type { SmartWalletSigner } from "../index.js"; type RpcSchema = Extract; export type RequestAccountParams = Omit, "signerAddress" | "includeCounterfactualInfo"> & { accountAddress?: Address; }; export type RequestAccountResult = SmartContractAccount; /** * Requests an account for the provided signer using the wallet API client. * If an account already exists for the signer, it will always return that account unless a new ID is specified. * If an account already exists, the creationHint will be ignored. * * @param {InnerWalletApiClient} client - The wallet API client to use for the request * @param {SmartAccountSigner} signer - The signer that will be associated with the account * @param {RequestAccountParams} [params] - Optional parameters for requesting a specific account * @param {string} [params.id] - Optional identifier for the account. If specified, a new account with this ID will be created even if one already exists for the signer * @param {object} [params.creationHint] - Optional hints to guide account creation. These are ignored if an account already exists * @returns {Promise} A Promise that resolves to a SmartContractAccount instance * * @example * ```ts * // Request an account with default parameters using a local signer * const signer = LocalAccountSigner.privateKeyToAccountSigner("0x..."); * const account = await client.requestAccount(signer); * ``` */ export declare function requestAccount(client: InnerWalletApiClient, signer: SmartWalletSigner, params?: RequestAccountParams): Promise; export {}; //# sourceMappingURL=requestAccount.d.ts.map