/// import { ChainClientInterface, ChainType, GatewayToken, ProveWalletOwnershipResponse, ChainEvent, DID } from '@civic/gateway-client-core'; import { Network, TransactionRequest, TransactionResponse } from 'ethers'; import { EthereumGatewayWallet } from './types'; export type EthereumChainImplementationInputs = { wallet: EthereumGatewayWallet; network: Network; owner: string; gatekeeperNetwork: string; slotId: string; stage: string; gatekeeperSendsTransaction: boolean; handleTransaction?: (transaction: TransactionRequest) => Promise; chainPollingIntervalMs?: number; }; export declare class EthereumChainImplementation implements ChainClientInterface { private inputs; gknSlotId: bigint; evmGatekeeperNetwork: { slotId: bigint; address: string; }; private gatewayToken; private listeners; pendingTransaction: string | undefined; constructor(inputs: EthereumChainImplementationInputs); findGatewayToken(): Promise; proveWalletOwnership(message?: string | undefined): Promise; signMessage(message: Uint8Array): Promise; handleTransaction(partiallySignedTx: string, frontendPollingTimeoutSeconds?: number): Promise; ownerDids(): Promise; chainDetails: { chainType: ChainType; chainNetwork: string; }; on(event: ChainEvent, tokenDidChange: (GatewayToken: GatewayToken) => void): this; getListenerForOwner(inOwner: string, tokenDidChange: (GatewayToken: GatewayToken) => void): NodeJS.Timer; removeOnGatewayTokenChangeListener(listenerId: number): void; onDestroy(): Promise; }