import { EventBus } from "@js-soft/ts-utils"; import { CoreAddress, ICoreId } from "@nmshd/core-types"; import { Relationship, SynchronizedCollection } from "@nmshd/transport"; import { ConsumptionBaseController } from "../../../consumption/ConsumptionBaseController"; import { ConsumptionController } from "../../../consumption/ConsumptionController"; import { ValidationResult } from "../../common/ValidationResult"; import { RequestItemProcessorRegistry } from "../itemProcessors/RequestItemProcessorRegistry"; import { LocalRequest } from "../local/LocalRequest"; import { ICheckPrerequisitesOfIncomingRequestParameters } from "./checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters"; import { ICompleteIncomingRequestParameters } from "./complete/CompleteIncomingRequestParameters"; import { DecideRequestParametersJSON } from "./decide/DecideRequestParameters"; import { IReceivedIncomingRequestParameters } from "./received/ReceivedIncomingRequestParameters"; import { IRequireManualDecisionOfIncomingRequestParameters } from "./requireManualDecision/RequireManualDecisionOfIncomingRequestParameters"; export declare class IncomingRequestsController extends ConsumptionBaseController { private readonly localRequests; private readonly processorRegistry; private readonly eventBus; private readonly identity; private readonly relationshipResolver; private readonly decideRequestParamsValidator; constructor(localRequests: SynchronizedCollection, processorRegistry: RequestItemProcessorRegistry, parent: ConsumptionController, eventBus: EventBus, identity: { address: CoreAddress; }, relationshipResolver: { getRelationshipToIdentity(id: CoreAddress): Promise; getExistingRelationshipToIdentity(id: CoreAddress): Promise; }); received(params: IReceivedIncomingRequestParameters): Promise; private validateRequestUniqueness; private extractInfoFromSource; private extractInfoFromMessage; private extractInfoFromRelationshipTemplate; checkPrerequisites(params: ICheckPrerequisitesOfIncomingRequestParameters): Promise; requireManualDecision(params: IRequireManualDecisionOfIncomingRequestParameters): Promise; canAccept(params: DecideRequestParametersJSON): Promise; canReject(params: DecideRequestParametersJSON): Promise; private canDecide; private canDecideGroup; private canDecideItems; private canDecideItem; accept(params: DecideRequestParametersJSON): Promise; reject(params: DecideRequestParametersJSON): Promise; private decide; private createLocalResponse; private decideGroup; private decideItems; private decideItem; complete(params: ICompleteIncomingRequestParameters): Promise; getIncomingRequests(query?: any): Promise; getIncomingRequest(idIncomingRequest: ICoreId): Promise; private getOrThrow; private update; delete(request: LocalRequest): Promise; deleteRequestsFromPeer(peer: CoreAddress): Promise; private assertRequestStatus; private updateRequestExpiry; } //# sourceMappingURL=IncomingRequestsController.d.ts.map