import * as common_pb from './generated/common_pb'; import { MessageFactory } from './typesConvert'; export declare enum BlockchainType { UNSPECIFIED = 0, BITCOIN = 1, GRIN = 2, ETHEREUM = 100 } export declare enum Blockchain { UNSPECIFIED = 0, BITCOIN = 1, GRIN = 2, ETHEREUM = 100, ETHEREUM_CLASSIC = 101, TESTNET_KOVAN = 10002, TESTNET_BITCOIN = 10003, TESTNET_FLOONET = 10004, TESTNET_GOERLI = 10005, TESTNET_ROPSTEN = 10006, TESTNET_RINKEBY = 10007, TESTNET_HOLESKY = 10008, TESTNET_SEPOLIA = 10009 } export type AssetCode = string; export type Asset = { blockchain: Blockchain; code: AssetCode; }; export type Erc20Asset = { blockchain: Blockchain; contractAddress: string; }; export type AnyAsset = Asset | Erc20Asset; export type SingleAddress = string; export type XpubAddress = string | DetailedXpubAddress; export type MultiAddress = SingleAddress[]; export type AnyAddress = SingleAddress | MultiAddress | XpubAddress; export type UUID = string; export interface DetailedXpubAddress { xpub: string; start?: number; limit?: number; unused_limit?: number; } export interface BlockInfo { height: number; hash: string; timestamp: Date; } export declare function isSingleAddress(address: AnyAddress): address is SingleAddress; export declare function isMultiAddress(address: AnyAddress): address is MultiAddress; export declare function isXpubAddress(address: AnyAddress): address is XpubAddress; export declare function isDetailedXpubAddress(address: AnyAddress): address is DetailedXpubAddress; export declare function asDetailedXpub(address: XpubAddress): DetailedXpubAddress; export declare function isAsset(asset: unknown): asset is Asset; export declare function isErc20Asset(asset: unknown): asset is Erc20Asset; export declare function blockchainType(blockchain: Blockchain): BlockchainType; export declare class ConvertCommon { private readonly factory; constructor(factory: MessageFactory); chain(blockchain: Blockchain): common_pb.Chain; pbAsset(asset: Asset): common_pb.Asset; asset(asset: common_pb.Asset): Asset; erc20Asset(asset: common_pb.Erc20Asset): Erc20Asset; pbErc20Asset(asset: Erc20Asset): common_pb.Erc20Asset; blockInfo(blockInfo: common_pb.BlockInfo): BlockInfo; pbAnyAddress(address: AnyAddress): common_pb.AnyAddress; pbSingleAddress(address: SingleAddress): common_pb.SingleAddress; pbXpubAddress(address: XpubAddress): common_pb.XpubAddress; }