import { Event } from "@js-soft/ts-utils"; import { AcceptResponseItem, RejectResponseItem, Request, RequestItem, ResponseItem } from "@nmshd/content"; import { CoreAddress, CoreId } from "@nmshd/core-types"; import { ValidationResult } from "../../common/ValidationResult"; import { AcceptRequestItemParametersJSON } from "../incoming/decide/AcceptRequestItemParameters"; import { RejectRequestItemParametersJSON } from "../incoming/decide/RejectRequestItemParameters"; export interface LocalRequestInfo { id: CoreId; peer: CoreAddress; } export interface IRequestItemProcessor { checkPrerequisitesOfIncomingRequestItem(requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise | boolean; canAccept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): Promise | ValidationResult; canReject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): Promise | ValidationResult; accept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): Promise | AcceptResponseItem; reject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): Promise | RejectResponseItem; canCreateOutgoingRequestItem(requestItem: TRequestItem, request: Request, recipient?: CoreAddress): Promise | ValidationResult; canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise | ValidationResult; applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Event | void | Promise; } //# sourceMappingURL=IRequestItemProcessor.d.ts.map