import { Serializable } from "@js-soft/ts-serval"; import { IdentityAttribute, IdentityAttributeJSON, RelationshipAttribute, RelationshipAttributeJSON } from "@nmshd/content"; import { CoreId } from "@nmshd/core-types"; import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters"; /** * Send a copy of an existing attribute to the peer. */ export interface AcceptProposeAttributeRequestItemParametersWithExistingAttributeJSON extends AcceptRequestItemParametersJSON { attributeId: string; tags?: string[]; } /** * Create a new Local Attribute. If you want to use the proposed Attribute, just pass it here. */ export interface AcceptProposeAttributeRequestItemParametersWithNewAttributeJSON extends AcceptRequestItemParametersJSON { attribute: IdentityAttributeJSON | RelationshipAttributeJSON; } export type AcceptProposeAttributeRequestItemParametersJSON = AcceptProposeAttributeRequestItemParametersWithExistingAttributeJSON | AcceptProposeAttributeRequestItemParametersWithNewAttributeJSON; export declare class AcceptProposeAttributeRequestItemParameters extends Serializable { attributeId?: CoreId; tags?: string[]; attribute?: IdentityAttribute | RelationshipAttribute; isWithExistingAttribute(): this is { attributeId: CoreId; }; isWithNewAttribute(): this is { attribute: IdentityAttribute | RelationshipAttribute; }; static from(value: AcceptProposeAttributeRequestItemParametersJSON): AcceptProposeAttributeRequestItemParameters; protected static postFrom(value: T): T; } //# sourceMappingURL=AcceptProposeAttributeRequestItemParameters.d.ts.map