import { type Abi, type Address, type Chain, type Hex, type PublicClient } from 'viem'; import { type SmartAccount, type SmartAccountImplementation } from 'viem/account-abstraction'; import type { Module } from '../modules/common'; import type { OwnerSet, RhinestoneAccountConfig } from '../types'; import { type ValidatorConfig } from './utils'; declare function getDeployArgs(config: RhinestoneAccountConfig): { factory: `0x${string}`; factoryData: `0x${string}`; salt: `0x${string}`; implementation: `0x${string}`; initializationCallData: null; } | null; declare function getV0DeployArgs(config: RhinestoneAccountConfig): { factory: `0x${string}`; factoryData: `0x${string}`; salt: `0x${string}`; implementation: `0x${string}`; initializationCallData: null; }; declare function getAddress(config: RhinestoneAccountConfig): `0x${string}`; declare function getEip712Domain(config: RhinestoneAccountConfig, chain: Chain): { name: string; version: string; chainId: number; verifyingContract: `0x${string}`; salt: "0x0000000000000000000000000000000000000000000000000000000000000000"; }; declare function getInstallData(module: Module): `0x${string}`; declare function packSignature(signature: Hex, validator: ValidatorConfig, transformSignature?: (signature: Hex) => Hex): Promise<`0x${string}`>; declare function getSmartAccount(client: PublicClient, address: Address, owners: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise): Promise>>; declare function getGuardianSmartAccount(client: PublicClient, address: Address, guardians: OwnerSet, validatorAddress: Address, sign: (hash: Hex) => Promise): Promise>>; export { getEip712Domain, getInstallData, getAddress, packSignature, getDeployArgs, getV0DeployArgs, getSmartAccount, getGuardianSmartAccount, }; //# sourceMappingURL=safe.d.ts.map