import { getSpendingLimitsPolicy, getSudoPolicy, getTimeFramePolicy, getUniversalActionPolicy, getUsageLimitPolicy, getValueLimitPolicy } from '@rhinestone/module-sdk'; import { type SmartAccountClient } from 'permissionless'; import { type Account, type Address, type Chain, type Hex, type PrivateKeyAccount, type SignableMessage, type WalletClient } from 'viem'; import { type WaitForUserOperationReceiptReturnType } from 'viem/account-abstraction'; export declare const DEFAULT_RPC_URL = "https://rpc-geo-genesis-h0q2s21xx8.t.conduit.xyz"; export declare const TESTNET_RPC_URL = "https://rpc-geo-test-zc16z3tcvf.t.conduit.xyz"; export declare const GEOGENESIS: { id: number; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; public: { http: string[]; }; }; }; export declare const GEO_TESTNET: { id: number; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; public: { http: string[]; }; }; }; export type Action = { actionTarget: Address; actionTargetSelector: Hex; actionPolicies: { policy: Address; address: Address; initData: Hex; }[]; }; export { getSpendingLimitsPolicy, getSudoPolicy, getTimeFramePolicy, getUniversalActionPolicy, getUsageLimitPolicy, getValueLimitPolicy, }; export type SmartSessionClient = { account: Account; chain: Chain; sendUserOperation: ({ calls }: { calls: calls; }) => Promise; waitForUserOperationReceipt: ({ hash }: { hash: Hex; }) => Promise; signMessage: ({ message }: { message: SignableMessage; }) => Promise; }; export declare const isSmartAccountDeployed: (smartAccountClient: SmartAccountClient) => Promise; export type SmartAccountParams = { owner: WalletClient | Account; address?: Hex; chain?: Chain; rpcUrl?: string; apiKey?: string; }; export declare const getSmartAccountWalletClient: ({ owner, address, chain, rpcUrl, apiKey, }: SmartAccountParams) => Promise; export declare const legacySmartAccountUpdateStatus: (smartAccountClient: SmartAccountClient, chain: Chain, rpcUrl: string) => Promise<{ has7579Module: boolean; hasSmartSessionsValidator: boolean; hasOwnableValidator: boolean; }>; export declare const smartAccountNeedsUpdate: (smartAccountClient: SmartAccountClient, chain: Chain, rpcUrl: string) => Promise; export declare const updateLegacySmartAccount: (smartAccountClient: SmartAccountClient, chain: Chain, rpcUrl: string) => Promise; export declare const addSmartAccountOwner: (smartAccountClient: SmartAccountClient, newOwner: Address, chain: Chain, rpcUrl: string) => Promise<{ actualGasCost: bigint; actualGasUsed: bigint; entryPoint: Address; logs: import("viem").Log[]; nonce: bigint; paymaster?: `0x${string}` | undefined; reason?: string | undefined | undefined; receipt: import("viem").TransactionReceipt; sender: Address; success: boolean; userOpHash: import("viem").Hash; } | undefined>; export declare const createSmartSession: (owner: WalletClient | PrivateKeyAccount, accountAddress: Hex, sessionPrivateKey: Hex, chain: Chain, rpcUrl: string, { allowCreateSpace, spaces, additionalActions, }?: { allowCreateSpace?: boolean; spaces?: { address: Hex; type: "personal" | "public"; }[]; additionalActions?: Action[]; }) => Promise; export declare const getSmartSessionClient: ({ accountAddress, chain, rpcUrl, apiKey, sessionPrivateKey, permissionId, }: { accountAddress: Hex; chain?: Chain; rpcUrl?: string; apiKey?: string; sessionPrivateKey: Hex; permissionId: Hex; }) => Promise; //# sourceMappingURL=smart-account.d.ts.map