import { Observable } from 'rxjs'; import { RepositoryFactory } from '../infrastructure'; import { AccountInfo, AccountRestrictions, HashLockInfo, Metadata, MosaicInfo, MultisigAccountInfo, NamespaceId, NamespaceInfo, SecretLockInfo } from '../model'; import { Address } from '../model/account'; import { MosaicId } from '../model/mosaic'; import { MosaicRestriction } from '../model/restriction'; import { StateMerkleProof } from '../model/state'; /** * State Proof Service Interface */ export declare class StateProofService { private readonly repositoryFactory; private blockRepo; /** * Constructor * @param repositoryFactory */ constructor(repositoryFactory: RepositoryFactory); /** * @param address Account address. * @returns {Observable} */ accountById(address: Address): Observable; account(info: AccountInfo): Observable; /** * Namespace proof can only be verified at root level * @param namespaceId Namepace Id. * @returns {Observable} */ namespaceById(namespaceId: NamespaceId): Observable; namespaces(root: NamespaceInfo): Observable; /** * @param mosaicId Mosaic Id. * @returns {Observable} */ mosaicById(mosaicId: MosaicId): Observable; mosaic(info: MosaicInfo): Observable; /** * @param address Multisig account address. * @returns {Observable} */ multisigById(address: Address): Observable; multisig(info: MultisigAccountInfo): Observable; /** * @param compositeHash Composite hash. * @returns {Observable} */ secretLockById(compositeHash: string): Observable; secretLock(info: SecretLockInfo): Observable; /** * @param hash hashs. * @returns {Observable} */ hashLockById(hash: string): Observable; hashLock(info: HashLockInfo): Observable; /** * @param address Address. * @returns {Observable} */ accountRestrictionById(address: Address): Observable; accountRestriction(info: AccountRestrictions): Observable; /** * @param compositeHash Composite hash. * @returns {Observable} */ mosaicRestrictionById(compositeHash: string): Observable; mosaicRestriction(info: MosaicRestriction): Observable; /** * @param compositeHash Composite hash. * @returns {Observable} */ metadataById(compositeHash: string): Observable; metadata(info: Metadata): Observable; private toProof; private getRootHash; }