export type TVariant = 'branded' | 'mono' | 'background' export type TType = 'network' | 'token' | 'wallet' | 'exchange' export type TExchangeType = 'cex' | 'dex' export interface IMetadata { id: string filePath: string name: string variants: TVariant[] } export interface ITokenMetadata extends IMetadata { symbol: string marketCapRank: number | null addresses: { [key: string]: string | undefined } } export interface INetworkMetadata extends IMetadata { shortName?: string nativeCoinId?: string chainId?: number | string caip2id?: string } export interface IWalletMetadata extends IMetadata {} export interface IExchangeMetadata extends IMetadata { type: TExchangeType } interface IRaw { id: string name: string } export interface INetworkRaw extends IRaw { shortname?: string native_coin_id?: string chain_identifier?: number } export interface ITokenRaw extends IRaw { symbol: string market_cap_rank?: number | null } export interface IWalletRaw extends IRaw {} export interface IExchangeRaw extends IRaw { type: TExchangeType } export interface IconMap { [key: string]: string } export type TMetadata = | INetworkMetadata | IWalletMetadata | ITokenMetadata | IExchangeMetadata export type TRaw = INetworkRaw | ITokenRaw | IWalletRaw | IExchangeRaw /** * Represents an SVG element as a data structure for the factory pattern. * Format: [elementName, attributes] or [elementName, attributes, children] */ export type IconNodeElement = | [elementName: string, attributes: Record] | [ elementName: string, attributes: Record, children: IconNodeElement[], ] export type IconNode = IconNodeElement[] /** * Icon variants data structure. * Each variant contains an array of IconNode elements. */ export type TIconVariants = { branded?: IconNode mono?: IconNode background?: IconNode } export {} //# sourceMappingURL=types.d.ts.map