import { ISerializable, Serializable } from "@js-soft/ts-serval"; import { ContentJSON } from "../ContentJSON"; import { AuthenticationRequestItem, AuthenticationRequestItemJSON, ConsentRequestItem, ConsentRequestItemJSON, CreateAttributeRequestItem, CreateAttributeRequestItemJSON, DeleteAttributeRequestItem, DeleteAttributeRequestItemJSON, FormFieldRequestItem, FormFieldRequestItemJSON, IAuthenticationRequestItem, IConsentRequestItem, ICreateAttributeRequestItem, IDeleteAttributeRequestItem, IFormFieldRequestItem, IProposeAttributeRequestItem, IReadAttributeRequestItem, IShareAttributeRequestItem, IShareAuthorizationRequestRequestItem, IShareCredentialOfferRequestItem, ITransferFileOwnershipRequestItem, ProposeAttributeRequestItem, ProposeAttributeRequestItemJSON, ReadAttributeRequestItem, ReadAttributeRequestItemJSON, ShareAttributeRequestItem, ShareAttributeRequestItemJSON, ShareAuthorizationRequestRequestItem, ShareAuthorizationRequestRequestItemJSON, ShareCredentialOfferRequestItem, ShareCredentialOfferRequestItemJSON, TransferFileOwnershipRequestItem, TransferFileOwnershipRequestItemJSON } from "./items"; export interface RequestItemJSON extends ContentJSON { /** * The human-readable description of this item. */ description?: string; /** * This property can be used to add some arbitrary metadata to this item. The content * of this property will be copied into the response on the side of the recipient, so * the sender can use it to identify the item as they receive the response. */ metadata?: object; /** * If set to `true`, the recipient has to accept this item if they want to accept the * Request. * If set to `false`, the recipient can decide whether they want to accept it or not. */ mustBeAccepted: boolean; } export type RequestItemJSONDerivations = RequestItemJSON | CreateAttributeRequestItemJSON | DeleteAttributeRequestItemJSON | ShareAttributeRequestItemJSON | ProposeAttributeRequestItemJSON | ReadAttributeRequestItemJSON | ConsentRequestItemJSON | AuthenticationRequestItemJSON | FormFieldRequestItemJSON | TransferFileOwnershipRequestItemJSON | ShareCredentialOfferRequestItemJSON | ShareAuthorizationRequestRequestItemJSON; export interface IRequestItem extends ISerializable { /** * The human-readable description of this item. */ description?: string; /** * This property can be used to add some arbitrary metadata to this item. The content * of this property will be copied into the response on the side of the recipient, so * the sender can use it to identify the item as they receive the response. */ metadata?: object; /** * If set to `true`, the recipient has to accept this item if they want to accept the * Request. * If set to `false`, the recipient can decide whether they want to accept it or not. */ mustBeAccepted: boolean; } export type IRequestItemDerivations = IRequestItem | ICreateAttributeRequestItem | IDeleteAttributeRequestItem | IShareAttributeRequestItem | IProposeAttributeRequestItem | IReadAttributeRequestItem | IConsentRequestItem | IAuthenticationRequestItem | IFormFieldRequestItem | ITransferFileOwnershipRequestItem | IShareCredentialOfferRequestItem | IShareAuthorizationRequestRequestItem; export declare abstract class RequestItem extends Serializable { description?: string; mustBeAccepted: boolean; metadata?: object; toJSON(verbose?: boolean | undefined, serializeAsString?: boolean | undefined): RequestItemJSON; } export type RequestItemDerivations = RequestItem | CreateAttributeRequestItem | DeleteAttributeRequestItem | ShareAttributeRequestItem | ProposeAttributeRequestItem | ReadAttributeRequestItem | ConsentRequestItem | AuthenticationRequestItem | FormFieldRequestItem | TransferFileOwnershipRequestItem | ShareCredentialOfferRequestItem | ShareAuthorizationRequestRequestItem; export declare function isRequestItemDerivation(input: any): input is RequestItemDerivations; //# sourceMappingURL=RequestItem.d.ts.map