/** * @prettier */ import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics'; import { BaseCoin } from './baseCoin'; import { BitGoBase } from './bitgoBase'; export declare type CoinConstructor = (bitgo: BitGoBase, staticsCoin?: Readonly) => BaseCoin; export interface NamedCoinConstructor { name: string; coinConstructor: CoinConstructor; } export declare class CoinFactory { private coinConstructors; constructor(); /** * @param name Name of coin or address * @returns {(Object|undefined)} */ private getCoinConstructor; /** * @param name Name of coin or address * @param coin Coin plugin's constructor * @throws Error */ register(name: string, coin: CoinConstructor): void; /** * @param bitgo Instance of BitGo * @param name Name of coin or address * @throws CoinNotDefinedError * @throws UnsupportedCoinError */ getInstance(bitgo: BitGoBase, name: string): BaseCoin; } export declare const GlobalCoinFactory: CoinFactory; //# sourceMappingURL=coinFactory.d.ts.map