import { Observable } from 'rxjs'; import { AccountNames, Address } from '../model/account'; import { MerkleStateInfo } from '../model/blockchain'; import { MosaicId, MosaicNames } from '../model/mosaic'; import { NamespaceId, NamespaceInfo, NamespaceName } from '../model/namespace'; import { SearcherRepository } from './paginationStreamer'; import { NamespaceSearchCriteria } from './searchCriteria'; /** * Namespace interface repository. * * @since 1.0 */ export interface NamespaceRepository extends SearcherRepository { /** * Get readable names for a set of accountIds. * Returns friendly names for accounts. * @param accountIds List of Address - * Address can be created rawAddress or publicKey * @return Observable */ getAccountsNames(accountIds: Address[]): Observable; /** * Get readable names for a set of mosaics * Returns friendly names for mosaics. * @param mosaicIds - Array of mosaic ids * @return Observable */ getMosaicsNames(mosaicIds: MosaicId[]): Observable; /** * Gets the NamespaceInfo for a given namespaceId * @param namespaceId - Namespace id * @returns Observable */ getNamespace(namespaceId: NamespaceId): Observable; /** * Gets a NamespaceInfo merkle for a given namespaceId * @param namespaceId - Namespace id * @returns Observable */ getNamespaceMerkle(namespaceId: NamespaceId): Observable; /** * Gets array of NamespaceName for different namespaceIds * @param namespaceIds - Array of namespace ids * @returns Observable */ getNamespacesNames(namespaceIds: NamespaceId[]): Observable; /** * Gets the MosaicId from a MosaicAlias * @param namespaceId - the namespaceId of the namespace * @returns Observable */ getLinkedMosaicId(namespaceId: NamespaceId): Observable; /** * Gets the Address from a AddressAlias * @param namespaceId - the namespaceId of the namespace * @returnsObservable
*/ getLinkedAddress(namespaceId: NamespaceId): Observable
; /** * Get rest url from parent class. */ getUrl(): string; }