import { Asset, Cardano, Milliseconds, Seconds } from '@cardano-sdk/core'; import { InMemoryCache } from '../InMemoryCache'; import { Logger } from 'ts-log'; import { TokenMetadataService } from './types'; export declare const DEFAULT_TOKEN_METADATA_CACHE_TTL: Seconds; export declare const DEFAULT_TOKEN_METADATA_REQUEST_TIMEOUT: Milliseconds; export declare const DEFAULT_TOKEN_METADATA_SERVER_URL = "https://tokens.cardano.org"; interface NumberValue { value?: number; } interface StringValue { value?: string; } interface TokenMetadataServiceRecord { decimals?: NumberValue; description?: StringValue; logo?: StringValue; name?: StringValue; subject: string; ticker?: StringValue; url?: StringValue; } export declare const toCoreTokenMetadata: (record: TokenMetadataServiceRecord) => Asset.TokenMetadata; export interface CardanoTokenRegistryConfiguration { tokenMetadataCacheTTL?: Seconds; tokenMetadataServerUrl?: string; tokenMetadataRequestTimeout?: Milliseconds; } export interface CardanoTokenRegistryDependencies { cache?: InMemoryCache; logger: Logger; } export declare class CardanoTokenRegistry implements TokenMetadataService { #private; constructor({ cache, logger }: CardanoTokenRegistryDependencies, config?: CardanoTokenRegistryConfiguration); shutdown(): void; getTokenMetadata(assetIds: Cardano.AssetId[]): Promise<(Asset.TokenMetadata | null)[]>; getTokenMetadataFromCache(assetIds: Cardano.AssetId[]): readonly [Cardano.AssetId[], (Asset.TokenMetadata | null)[]]; } export {}; //# sourceMappingURL=CardanoTokenRegistry.d.ts.map