import { ISerializable, Serializable } from "@js-soft/ts-serval"; import { CoreAddress, CoreDate, CoreId, ICoreAddress, ICoreDate, ICoreId } from "@nmshd/core-types"; import { CryptoSecretKey, ICryptoExchangePublicKey, ICryptoSecretKey } from "@nmshd/crypto"; import { CoreSynchronizable, ICoreSynchronizable, IPasswordProtection, PasswordProtection } from "../../../core"; import { Identity, IIdentity } from "../../accounts/data/Identity"; import { RelationshipTemplatePublicKey } from "../transmission/RelationshipTemplatePublicKey"; import { RelationshipTemplateReference } from "../transmission/RelationshipTemplateReference"; export interface IRelationshipTemplate extends ICoreSynchronizable { secretKey: ICryptoSecretKey; isOwn: boolean; passwordProtection?: IPasswordProtection; identity: IIdentity; createdBy: ICoreAddress; createdByDevice: ICoreId; templateKey: ICryptoExchangePublicKey; content: ISerializable; createdAt: ICoreDate; expiresAt?: ICoreDate; maxNumberOfAllocations?: number; forIdentity?: ICoreAddress; metadata?: any; metadataModifiedAt?: ICoreDate; } export declare class RelationshipTemplate extends CoreSynchronizable implements IRelationshipTemplate { readonly technicalProperties: string[]; readonly contentProperties: string[]; readonly userdataProperties: string[]; readonly metadataProperties: string[]; secretKey: CryptoSecretKey; isOwn: boolean; passwordProtection?: PasswordProtection; identity: Identity; createdBy: CoreAddress; createdByDevice: CoreId; templateKey: RelationshipTemplatePublicKey; content: Serializable; createdAt: CoreDate; expiresAt?: CoreDate; maxNumberOfAllocations?: number; forIdentity?: CoreAddress; metadata?: any; metadataModifiedAt?: CoreDate; static from(value: IRelationshipTemplate): RelationshipTemplate; toRelationshipTemplateReference(backboneBaseUrl: string): RelationshipTemplateReference; setMetadata(metadata: any): this; isExpired(comparisonDate?: CoreDate): boolean; } export declare function validateMaxNumberOfAllocations(value?: number): string | undefined; //# sourceMappingURL=RelationshipTemplate.d.ts.map