import { HexString } from '@polkadot/util/types'; export { HexString } from '@polkadot/util/types'; import { ISubmittableResult, SignerPayloadJSON, SignerPayloadRaw } from '@polkadot/types/types/extrinsic'; import { Observable } from 'rxjs'; export { AnyJson, ISubmittableResult, SignerPayloadJSON, SignerPayloadRaw } from '@polkadot/types/types'; declare type AnyObject = Record; declare enum CollectionSchemaVersion { ImageURL = "ImageURL", Unique = "Unique" } declare enum TokenPropertiesKeys { constData = "_old_constData" } interface TokenPropertyPermissions { mutable?: boolean; collectionAdmin?: boolean; tokenOwner?: boolean; } interface TokenProperties { constData?: AnyObject; } interface TokenInfo { id: number; collectionId: number; url: string | null; owner: string | null; properties: TokenProperties; } declare type TokenPayload = { NFT: any; } | { Fungible: any; } | { ReFungible: any; }; declare enum SignatureType { Sr25519 = "sr25519", Ed25519 = "ed25519", Ecdsa = "ecdsa", Ethereum = "ethereum" } interface SignResult { signatureType: SignatureType; signature: HexString; } interface SubmitResult { hash: HexString; result$: Observable; } interface ObservableSubmitResult { hash: HexString; result$: Observable; } interface SignTxArguments { signerPayloadHex: HexString; } interface SignTxResult extends SignResult { signature: HexString; signatureType: SignatureType; } interface SubmitTxArguments { signerPayloadJSON: SignerPayloadJSON; signature: HexString; } interface TxBuildArguments { address: Address; section: string; method: string; args: Array>; era?: number; isImmortal?: boolean; } interface ApiQueryArguments { endpoint: string; module: string; method: string; args: Array>; } interface SubmittableResultInProcess { submittableResult: ISubmittableResult; parsed?: T; } interface SubmittableResultCompleted { submittableResult: ISubmittableResult; isCompleted: true; parsed: T; } declare type Address = string; interface ChainProperties { SS58Prefix: number; token: string; decimals: number; wsUrl: string; genesisHash: HexString; } interface Balance { raw: string; unit: string; decimals: number; amount: string; formatted: string; } interface AllBalances { availableBalance: Balance; lockedBalance: Balance; freeBalance: Balance; } declare type Fee = Balance; interface TransferBuildArguments { address: Address; destination: string; amount: number; } interface AddressArguments { address: Address; } interface BurnCollectionArguments { collectionId: number; address: Address; } interface TransferCollectionArguments { collectionId: number; from: string; to: string; } interface CreateTokenArguments extends AddressArguments { collectionId: number; owner?: string; constData: AnyObject; } interface UnsignedTxPayload { signerPayloadJSON: SignerPayloadJSON; signerPayloadRaw: SignerPayloadRaw; signerPayloadHex: HexString; } interface ISdkExtrinsics { build(buildArgs: TxBuildArguments): Promise; sign(args: SignTxArguments, signer: SdkSigner | undefined): Promise; submit(args: SubmitTxArguments, isObservable?: boolean): Promise; submitWaitCompleted(args: SubmitTxArguments): Promise; } interface SdkSigner { sign(unsignedTxPayload: UnsignedTxPayload): Promise; } interface SdkOptions { chainWsUrl: string; signer?: SdkSigner; } declare enum CollectionFieldTypes { TEXT = "text", SELECT = "select" } interface CollectionFieldBase { id: number; name: string; type: CollectionFieldTypes; required?: boolean; } interface CollectionTextField extends CollectionFieldBase { type: CollectionFieldTypes.TEXT; } interface CollectionSelectField extends CollectionFieldBase { type: CollectionFieldTypes.SELECT; items: string[]; multi?: boolean; } declare type CollectionField = CollectionTextField | CollectionSelectField; declare type CollectionFields = Array; export { Address, AddressArguments, AllBalances, AnyObject, ApiQueryArguments, Balance, BurnCollectionArguments, ChainProperties, CollectionField, CollectionFieldBase, CollectionFieldTypes, CollectionFields, CollectionSchemaVersion, CollectionSelectField, CollectionTextField, CreateTokenArguments, Fee, ISdkExtrinsics, ObservableSubmitResult, SdkOptions, SdkSigner, SignResult, SignTxArguments, SignTxResult, SignatureType, SubmitResult, SubmitTxArguments, SubmittableResultCompleted, SubmittableResultInProcess, TokenInfo, TokenPayload, TokenProperties, TokenPropertiesKeys, TokenPropertyPermissions, TransferBuildArguments, TransferCollectionArguments, TxBuildArguments, UnsignedTxPayload };