import { ethers } from 'ethers'; import { Provider } from '@ethersproject/providers'; import { NetworkId } from '../utils'; /** * Base class for all API modules, providing shared functionality */ export declare abstract class BaseApi { protected _provider: Provider; protected _signer: ethers.Signer; protected _networkId?: NetworkId; protected _initialized: boolean; /** * Create API module instance * @param provider Provider instance * @param signer Signer instance */ constructor(provider: Provider, signer: ethers.Signer); /** * Initialize network ID from signer * Must be called before using methods that depend on networkId */ init(): Promise; /** * Update connection information (when network changes) * @param provider New Provider * @param signer New Signer */ updateConnection(provider: Provider, signer: ethers.Signer): void; /** * Method called when connection is updated, can be overridden by subclasses */ protected onConnectionUpdated(): Promise; /** * Get current network ID */ get networkId(): NetworkId | undefined; /** * Get current Provider */ get provider(): Provider; /** * Get current Signer */ get signer(): ethers.Signer; /** * Get current user address */ getAddress(): Promise; } //# sourceMappingURL=base-api.d.ts.map