/// import { AssetJSON, BinaryWriter, ECPoint, UInt160, UInt256, UInt256Hex } from '@neo-one/client-common-browserify'; import { BaseState } from '@neo-one/client-full-common-browserify'; import BN from 'bn.js'; import { AssetType } from './AssetType'; import { Equals, EquatableKey } from './Equatable'; import { DeserializeWireBaseOptions, DeserializeWireOptions, SerializableJSON, SerializableWire, SerializeJSONContext, SerializeWire } from './Serializable'; export declare const InvalidAssetError: { new (message: string): { readonly name: string; readonly code: string; message: string; stack?: string | undefined; }; captureStackTrace(targetObject: Object, constructorOpt?: Function | undefined): void; prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined; stackTraceLimit: number; }; export interface AssetKey { readonly hash: UInt256; } export interface AssetAdd { readonly version?: number; readonly hash: UInt256; readonly type: AssetType; readonly name: string; readonly amount: BN; readonly available?: BN; readonly precision: number; readonly feeMode?: number; readonly fee?: BN; readonly feeAddress?: UInt160; readonly owner: ECPoint; readonly admin: UInt160; readonly issuer: UInt160; readonly expiration: number; readonly isFrozen?: boolean; } export interface AssetUpdate { readonly available?: BN; readonly expiration?: number; readonly isFrozen?: boolean; } export declare class Asset extends BaseState implements SerializableWire, SerializableJSON, EquatableKey { static deserializeWireBase({ reader }: DeserializeWireBaseOptions): Asset; static deserializeWire(options: DeserializeWireOptions): Asset; readonly hash: UInt256; readonly hashHex: UInt256Hex; readonly type: AssetType; readonly name: string; readonly amount: BN; readonly available: BN; readonly precision: number; readonly feeMode: number; readonly fee: BN; readonly feeAddress: UInt160; readonly owner: ECPoint; readonly admin: UInt160; readonly issuer: UInt160; readonly expiration: number; readonly isFrozen: boolean; readonly equals: Equals; readonly toKeyString: () => string; readonly serializeWire: SerializeWire; private readonly sizeInternal; constructor({ version, hash, type, name, amount, available, precision, feeMode, fee, feeAddress, owner, admin, issuer, expiration, isFrozen, }: AssetAdd); readonly size: number; update({ available, expiration, isFrozen, }: AssetUpdate): Asset; serializeWireBase(writer: BinaryWriter): void; serializeJSON(context: SerializeJSONContext): AssetJSON; } export declare const verifyAsset: ({ name, type, amount, precision, }: { readonly name: string; readonly type: AssetType; readonly amount: BN; readonly precision: number; }) => void;