import type { Account, PaymentMaker, AccountId, Source, AuthorizeParams, AuthorizeResult } from '@atxp/common'; import { type MainWalletProvider } from './mainWalletPaymentMaker.js'; import { SpendPermission, Eip1193Provider } from './types.js'; import { ICache } from './cache.js'; import { type EphemeralSmartWallet } from './smartWalletHelpers.js'; import { Logger } from '@atxp/common'; export declare class WorldchainAccount implements Account { readonly usesAccountsAuthorize = false; private _accountId; paymentMakers: PaymentMaker[]; private mainWalletAddress?; private ephemeralSmartWallet?; private chainId; private static toCacheKey; static initialize(config: { walletAddress: string; provider: Eip1193Provider; useEphemeralWallet?: boolean; allowance?: bigint; periodInDays?: number; cache?: ICache; logger?: Logger; chainId?: number; customRpcUrl?: string; }): Promise; private static loadSavedWalletAndPermission; private static deploySmartWallet; constructor(spendPermission: SpendPermission | null, ephemeralSmartWallet: EphemeralSmartWallet | null, logger?: Logger, mainWalletAddress?: string, provider?: MainWalletProvider, chainId?: number, customRpcUrl?: string); /** * Get the account ID */ getAccountId(): Promise; getSources(): Promise; static clearAllCachedData(userWalletAddress: string, cache?: ICache): void; /** * Create a spend permission for the given resource URL. * WorldchainAccount doesn't support spend permissions, so this returns null. */ createSpendPermission(_resourceUrl: string): Promise; /** * Authorize a payment through the appropriate channel for World Chain accounts. */ authorize(params: AuthorizeParams): Promise; } //# sourceMappingURL=worldchainAccount.d.ts.map