import { AccountId } from 'caip'; import { type PublicClient } from 'viem'; import { type EvmPersistedAddress } from '../../state'; import { type ValidatorConfig } from './config'; import type { ReadOnlyAccount } from './types'; /** * Get a read-only account for the specified validator type * * Factory function that creates the appropriate read-only account * implementation based on the validator configuration. * * The chain ID is inferred from the publicClient's chain configuration. * * @param publicClient The public client for blockchain interactions * @param persistedAddress The persisted address data * @param validatorConfig The validator configuration * @returns A read-only account implementation * * @throws {Error} If the validator type is not supported * @throws {MissingChainError} If publicClient.chain is undefined or doesn't have an id */ export declare function getReadOnlyAccount(publicClient: PublicClient, accountId: AccountId, persistedAddress: EvmPersistedAddress, _validatorConfig: ValidatorConfig): Promise;