import { MultiRollupApiClients } from '@imtbl/generated-clients'; import { Provider, RequestArguments } from './types'; import { TypedEventEmitter } from '@imtbl/auth'; import { WalletConfiguration } from '../config'; import { WalletEventMap, User, WalletSigner, GetUserFunction } from '../types'; import GuardianClient from '../guardian'; export type ZkEvmProviderInput = { /** * Function that returns the current user with fresh tokens. * This is the primary way to provide authentication to the wallet. */ getUser: GetUserFunction; /** * Client ID for session activity tracking. */ clientId: string; config: WalletConfiguration; multiRollupApiClients: MultiRollupApiClients; walletEventEmitter: TypedEventEmitter; guardianClient: GuardianClient; ethSigner: WalletSigner; user: User | null; sessionActivityApiUrl: string | null; }; export declare class ZkEvmProvider implements Provider { #private; readonly isPassport: boolean; constructor({ getUser, clientId, config, multiRollupApiClients, walletEventEmitter, guardianClient, ethSigner, user, sessionActivityApiUrl, }: ZkEvmProviderInput); request(request: RequestArguments): Promise; on(event: string, listener: (...args: any[]) => void): void; removeListener(event: string, listener: (...args: any[]) => void): void; }