import { AssetList, Chain, IBCData } from '@chain-registry/types';
import { ChainInfo } from './chain-info';
export interface ChainRegistryFetcherOptions {
    assetLists?: AssetList[];
    chains?: Chain[];
    ibcData?: IBCData[];
    urls?: string[];
}
export declare class ChainRegistryFetcher {
    urls: string[];
    protected _assetLists: AssetList[];
    protected _chains: Chain[];
    protected _ibcData: IBCData[];
    private chainInfoList;
    constructor(options?: ChainRegistryFetcherOptions);
    get chains(): Chain[];
    get assetLists(): AssetList[];
    get ibcData(): IBCData[];
    getChain(chainName: string): Chain;
    getChainAssetList(chainName: string): AssetList;
    getGeneratedAssetLists(chainName: string): AssetList[];
    getChainIbcData(chainName: string): IBCData[];
    getChainInfo(chainName: string): ChainInfo;
    upsertChain(data: Chain): void;
    updateAssetList(data: AssetList): void;
    upsertIbcData(data: IBCData): void;
    update(data: Chain | AssetList | IBCData): void;
    fetch(url: string): Promise<void>;
    fetchUrls(): Promise<void[]>;
}
