import { EventBus } from "@js-soft/ts-utils"; import { CoreAddress, CoreId, 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 { ICompleteOutgoingRequestParameters } from "./completeOutgoingRequest/CompleteOutgoingRequestParameters"; import { ICreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters } from "./createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters"; import { ICanCreateOutgoingRequestParameters } from "./createOutgoingRequest/CanCreateOutgoingRequestParameters"; import { ICreateOutgoingRequestParameters } from "./createOutgoingRequest/CreateOutgoingRequestParameters"; import { ISentOutgoingRequestParameters } from "./sentOutgoingRequest/SentOutgoingRequestParameters"; export declare class OutgoingRequestsController extends ConsumptionBaseController { private readonly localRequests; private readonly processorRegistry; private readonly eventBus; private readonly identity; private readonly relationshipResolver; constructor(localRequests: SynchronizedCollection, processorRegistry: RequestItemProcessorRegistry, parent: ConsumptionController, eventBus: EventBus, identity: { address: CoreAddress; }, relationshipResolver: { getRelationshipToIdentity(id: CoreAddress): Promise; }); canCreate(params: ICanCreateOutgoingRequestParameters): Promise; private canCreateItems; private canCreateItem; private canCreateItemGroup; create(params: ICreateOutgoingRequestParameters): Promise; private _create; createAndCompleteFromRelationshipTemplateResponse(params: ICreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters): Promise; sent(params: ISentOutgoingRequestParameters): Promise; deleteRequestsToPeer(peer: CoreAddress): Promise; private _sent; private _setDeletionRequestSent; private getSourceType; complete(params: ICompleteOutgoingRequestParameters): Promise; private _complete; private canComplete; private applyItems; private applyItem; getOutgoingRequests(query?: any): Promise; discardOutgoingRequest(id: CoreId): Promise; getOutgoingRequest(id: ICoreId): Promise; private getOrThrow; private update; private assertRequestStatus; private updateRequestExpiry; } //# sourceMappingURL=OutgoingRequestsController.d.ts.map