import { Observable } from 'rxjs/internal/Observable'; import { Address } from '../model/account/Address'; import { MosaicId } from '../model/mosaic/MosaicId'; import { MosaicAddressRestriction } from '../model/restriction/MosaicAddressRestriction'; import { MosaicGlobalRestriction } from '../model/restriction/MosaicGlobalRestriction'; export interface RestrictionMosaicRepository { /** * Get mosaic address restriction. * @summary Get mosaic address restrictions for a given mosaic and account identifier. * @param mosaicId Mosaic identifier. * @param address address * @returns Observable */ getMosaicAddressRestriction(mosaicId: MosaicId, address: Address): Observable; /** * Get mosaic address restrictions. * @summary Get mosaic address restrictions for a given mosaic and account identifiers array * @param mosaicId Mosaic identifier. * @param addresses list of addresses * @returns Observable */ getMosaicAddressRestrictions(mosaicId: MosaicId, address: Address[]): Observable; /** * Get mosaic global restriction. * @summary Get mosaic global restrictions for a given mosaic identifier. * @param mosaicId Mosaic identifier. * @returns Observable */ getMosaicGlobalRestriction(mosaicId: MosaicId): Observable; /** * Get mosaic global restrictions. * @summary Get mosaic global restrictions for a given list of mosaics. * @param mosaicIds List of mosaic identifier. * @returns Observable */ getMosaicGlobalRestrictions(mosaicIds: MosaicId[]): Observable; }