import { PolkadotClient } from 'polkadot-api'; import { Asset } from '../asset'; import { Chain, ChainAssetData, ChainAssetId, ChainCurrency, ChainParams, ChainType } from './Chain'; /** * XCM multi-location objects (JSON-serializable) */ export type XcmLocation = Record; /** * XCM Version enum */ export declare enum XcmVersion { v1 = "V1", v2 = "V2", v3 = "V3", v4 = "V4", v5 = "V5" } /** * Parachain spec */ export interface ParachainSpec { name: string; genesisHash: string; properties: any; } /** * Parachain Asset Data * * @interface ParachainAssetsData * @member {ChainAssetId} metadataId asset id to query metadata (if other than internal) * @member {ChainAssetId} minId asset id to query minimal deposit (if other than internal) * @member {XcmLocation} xcmLocation asset xcm location */ export interface ParachainAssetData extends ChainAssetData { metadataId?: ChainAssetId; minId?: ChainAssetId; xcmLocation?: XcmLocation; } export interface ParachainParams extends ChainParams { genesisHash: string; parachainId: number; ss58Format: number; treasury?: string; usesChainDecimals?: boolean; usesCexForwarding?: boolean; usesDeliveryFee?: boolean; usesSignerFee?: boolean; usesH160Acc?: boolean; ws: string | string[]; xcmVersion?: XcmVersion; } export declare class Parachain extends Chain { private _chainSpec?; readonly genesisHash: string; readonly parachainId: number; readonly ss58Format: number; readonly treasury: string | undefined; readonly usesChainDecimals: boolean; readonly usesCexForwarding: boolean; readonly usesDeliveryFee: boolean; readonly usesSignerFee: boolean; readonly usesH160Acc: boolean; readonly ws: string | string[]; readonly xcmVersion: XcmVersion; constructor({ genesisHash, parachainId, ss58Format, treasury, usesChainDecimals, usesCexForwarding, usesDeliveryFee, usesSignerFee, usesH160Acc, ws, xcmVersion, ...others }: ParachainParams); get client(): PolkadotClient; getType(): ChainType; getSpec(): Promise; getCurrency(): Promise; getAssetXcmLocation(asset: Asset): XcmLocation | undefined; getMetadataAssetId(asset: Asset): ChainAssetId; getMinAssetId(asset: Asset): ChainAssetId; findAssetById(id: string): ParachainAssetData | undefined; }