import type { HDNode } from '@ethersproject/hdnode'; import type { DerivationPath } from './dpaths'; import type { DeterministicAddress, TAddress } from './types'; import type { Wallet } from './wallet'; export declare abstract class DeterministicWallet { abstract getAddress(path: DerivationPath, index: number): Promise; abstract getHardenedAddress(path: DerivationPath, index: number): Promise; abstract getWallet(path: DerivationPath, index: number, address?: TAddress): Promise; protected abstract getHDNode(path: DerivationPath): Promise; /** * Get the extended public key (xpub) for a specific derivation path. * * @param derivationPath The derivation path to get the xpub for. * @return The extended public key as string. */ getExtendedPublicKey(derivationPath: DerivationPath): Promise; getAddressesWithMultipleDPaths(input: { path: DerivationPath; limit: number; offset?: number; }[]): Promise; getAddresses({ path, limit, offset, node }: { path: DerivationPath; limit: number; offset?: number; node?: HDNode; }): Promise; }