import type { BitcoinConfig, Domain, Domainlike, EthereumConfig, Network, Resource, SubstrateConfig, SygmaConfig, SygmaDomainConfig } from '../types.js'; import { Environment } from '../types.js'; export declare class Config { /** * Cache storing all sygma * environment configurations */ configuration: SygmaConfig; initialized: boolean; /** * Initialize and store all * sygma configurations */ init(environment: Environment): Promise; /** * Retrieve hosted bridge configuration in JSON format * @param {Environment} environment bridging environment i.e mainnet, testnet or devnet * @returns {Promise} */ private getConfigUrl; /** * Creates a domain object from config object * @param {SygmaDomainConfig} config * @returns {Domain} */ private createDomain; /** * Find a domain by sygma ID * @note there are cases in fee processing when we have * to explicitly search on the basis of sygma ID * @param {number} sygmaId * @returns {SubstrateConfig | EthereumConfig} */ findDomainConfigBySygmaId(sygmaId: number): SygmaDomainConfig; /** * Find configuration of the domain * existing in current sygma configuration * @param {Domainlike} domainLike * @returns {{ config: SygmaDomainConfig | undefined; environment: Environment; }} */ findDomainConfig(domainLike: Domainlike): SygmaDomainConfig; /** * Get sygma raw bridging configuration * @returns {SygmaConfig} */ getConfiguration(): SygmaConfig; /** * Retrieves domain from configuration * w.r.t chainId, sygmaId or caipId * @param {Domainlike} domainLike * @returns {Domain} */ getDomain(domainLike: Domainlike): Domain; /** * Get domain configuration * @param {Domainlike} domainLike chain id, caip id or sygma id * @returns {SubstrateConfig | EthereumConfig} */ getDomainConfig(domainLike: Domainlike): SubstrateConfig | EthereumConfig | BitcoinConfig; /** * Retrieves list of supported domains * from the configuration * @param {{ networkTypes?: Network[]; environment?: Environment }} options * @returns {Domain[]} */ getDomains(options?: { networkTypes?: Network[]; }): Domain[]; /** * Get list of resources of a particular domain * @param {Domainlike} domainLike chainId, sygmaId or caipId of a network * @returns {Resource[]} */ getResources(domainLike: Domainlike): Resource[]; } //# sourceMappingURL=config.d.ts.map