import type { IJsonLdNodeObject } from "@twin.org/data-json-ld"; import { type IPolicyDecision, type IPolicyDecisionPointComponent } from "@twin.org/rights-management-models"; import type { IDataspaceProtocolAgreement } from "@twin.org/standards-dataspace-protocol"; import type { OdrlActionType } from "@twin.org/standards-w3c-odrl"; import type { IPolicyDecisionPointServiceConstructorOptions } from "./models/IPolicyDecisionPointServiceConstructorOptions.js"; /** * Class implementation of Policy Decision Point Component. */ export declare class PolicyDecisionPointService implements IPolicyDecisionPointComponent { /** * The class name of the Policy Decision Point Service. */ static readonly CLASS_NAME: string; /** * Create a new instance of PolicyDecisionPointService (PDP). * @param options The options for the component. */ constructor(options?: IPolicyDecisionPointServiceConstructorOptions); /** * Returns the class name of the component. * @returns The class name of the component. */ className(): string; /** * Evaluate requests from a Policy Enforcement Point (PEP). * Uses the Policy Management Point (PMP) to retrieve the policies and the * Policy Information Point (PIP) to retrieve additional information. * Executes any actions on the Policy Execution Point (PXP) before and after decision is made. * @param agreement The agreement to evaluate. * @param data The data to make a decision on. * @param action Optional action to make a decision on, if not provided, the PDP will evaluate all actions in the agreement. * @param trustData Trust verification data to merge with PIP-retrieved information before arbitration. * @returns Returns the policy decisions which apply to the data so that the PEP * can manipulate the data accordingly. */ evaluate(agreement: IDataspaceProtocolAgreement, data?: D, action?: OdrlActionType | string, trustData?: { [key: string]: IJsonLdNodeObject; }): Promise; }