import { Observable } from 'rxjs'; import { NamespaceRepository } from '../infrastructure/NamespaceRepository'; import { RestrictionMosaicRepository } from '../infrastructure/RestrictionMosaicRepository'; import { UnresolvedAddress } from '../model/account/UnresolvedAddress'; import { UnresolvedMosaicId } from '../model/mosaic/UnresolvedMosaicId'; import { NetworkType } from '../model/network/NetworkType'; import { MosaicRestrictionType } from '../model/restriction/MosaicRestrictionType'; import { Deadline } from '../model/transaction/Deadline'; import { Transaction } from '../model/transaction/Transaction'; import { UInt64 } from '../model/UInt64'; /** * MosaicRestrictionTransactionService service */ export declare class MosaicRestrictionTransactionService { private readonly restrictionMosaicRepository; private readonly namespaceRepository; private readonly defaultMosaicAddressRestrictionValue; private readonly defaultMosaicGlobalRestrictionValue; /** * Constructor * @param restrictionMosaicRepository * @param namespaceRepository */ constructor(restrictionMosaicRepository: RestrictionMosaicRepository, namespaceRepository: NamespaceRepository); /** * Create a MosaicGlobalRestrictionTransaction object without previous restriction data * @param deadline - Deadline * @param networkType - Network identifier * @param mosaicId - Unresolved mosaicId * @param restrictionKey - Restriction key * @param restrictionValue - New restriction value * @param restrictionType - New restriction type * @param referenceMosaicId - Reference mosaic Id * @param maxFee - Max fee */ createMosaicGlobalRestrictionTransaction(deadline: Deadline, networkType: NetworkType, mosaicId: UnresolvedMosaicId, restrictionKey: UInt64, restrictionValue: string, restrictionType: MosaicRestrictionType, referenceMosaicId?: UnresolvedMosaicId, maxFee?: UInt64): Observable; /** * Create a MosaicAddressRestrictionTransaction object without previous restriction data * @param deadline - Deadline * @param networkType - Network identifier * @param mosaicId - Unresolved mosaicId * @param restrictionKey - Restriction key * @param targetAddress - Unresolved target address * @param restrictionValue - New restriction value * @param maxFee - Max fee */ createMosaicAddressRestrictionTransaction(deadline: Deadline, networkType: NetworkType, mosaicId: UnresolvedMosaicId, restrictionKey: UInt64, targetAddress: UnresolvedAddress, restrictionValue: string, maxFee?: UInt64): Observable; /** * Get address global restriction previous value and type * @param mosaicId - Mosaic identifier * @param restrictionKey - Mosaic global restriction key * @param targetAddress - The target address * @return {Observable} */ private getAddressRestrictionEntry; /** * Get mosaic global restriction prvious value and type * @param mosaicId - Mosaic identifier * @param restrictionKey - Mosaic global restriction key * @return {Observable} */ private getGlobalRestrictionEntry; /** * Check if input restriction key and value are invalid or not * @param value - Restriction value */ private validateInput; }