import { TemplateStoreManager, AgreementStoreManager, ConditionStoreManager } from '../managers'; import DIDRegistry from '../DIDRegistry'; import { LockRewardCondition } from '../conditions/LockRewardCondition'; import { AccessSecretStoreCondition } from '../conditions/AccessSecretStoreCondition'; import { EscrowReward } from '../conditions/EscrowReward'; import { DDO } from '../../../ddo/DDO'; import { ComputeExecutionCondition, Condition, ConditionState } from '../conditions'; import { ServiceType } from '../../../ddo/Service'; export interface Conditions { lockRewardCondition: LockRewardCondition; accessSecretStoreCondition?: AccessSecretStoreCondition; computeExecutionCondition?: ComputeExecutionCondition; escrowReward: EscrowReward; } export interface AgreementConditionsStatus { [condition: string]: { condition: string; contractName: string; state: ConditionState; blocked: boolean; blockedBy: string[]; }; } export declare class AgreementTemplateBase { templateName: string; templateManager: TemplateStoreManager; agreementStoreManager: AgreementStoreManager; didRegistry: DIDRegistry; conditions: Conditions; private logger; constructor(templateManager: TemplateStoreManager, agreementStoreManager: AgreementStoreManager, didRegistry: DIDRegistry, conditions: Conditions); createAgreementFromDDO(agreementId: string, ddo: DDO, serviceType: ServiceType, consumer: string, provider: string, from?: string): Promise; getConditionIdsFromDDO(agreementId: string, ddo: DDO, consumer: string, from?: string): Promise; getName(): string; getId(): string; createFullAgreement(did: string, amount: number | string, consumer: string, provider: string, from?: string, agreementId?: string): Promise; protected createFullAgreementData(agreementId: string, did: string, amount: number | string, consumer: string): Promise; getConditionTypes(): Promise; getConditions(): Promise; getServiceAgreementTemplate(): Promise; getServiceAgreementTemplateConditions(): Promise; getServiceAgreementTemplateConditionByRef(ref: string): Promise; getServiceAgreementTemplateDependencies(): Promise; getAgreementStatus(agreementId: string, conditionStoreManager: ConditionStoreManager): Promise; printAgreementStatus(agreementId: string, conditionStoreManager: ConditionStoreManager): Promise; getAgreementCreatedEvent(agreementId: string): import("../../ContractEvent").ContractEvent; getActorTypeIds(): Promise; getActorTypes(): Promise[]>; }