import { ethers } from 'ethers'; import { Provider } from '@ethersproject/providers'; import { NetworkId } from '../utils'; /** * Base class for all contract wrappers, providing common functionality */ export declare abstract class BaseWrapper { protected _provider: Provider; protected _signer: ethers.Signer; protected _networkId?: NetworkId; protected _initialized: boolean; /** * Create wrapper 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; /** * Get contract address * @param contractName Contract name * @returns Contract address */ protected getContractAddress(contractName: string): string; /** * Convert NetworkId to network key string * @param networkId Network ID * @returns Network key */ private getNetworkKey; /** * Update Provider and Signer (when network changes) * @param provider New Provider * @param signer New Signer */ updateConnection(provider: Provider, signer: ethers.Signer): void; /** * Get current Provider */ get provider(): Provider; /** * Get current Signer */ get signer(): ethers.Signer; /** * Get current network ID */ get networkId(): NetworkId | undefined; } //# sourceMappingURL=base-wrapper.d.ts.map