/** * AttributeResolver - Handles attribute resolution and request enhancement * * Responsibilities: * - Enhance requests with attributes from providers * - Resolve attribute references * - Get attribute values from request * - Manage attribute providers */ import { ILogger } from '../../logger'; import { ABACRequest, AttributeProvider, AttributeValue } from '../types'; export declare class AttributeResolver { private attributeProviders; private logger; constructor(logger: ILogger, providers?: AttributeProvider[]); /** * Add an attribute provider */ addProvider(provider: AttributeProvider): void; /** * Remove an attribute provider */ removeProvider(key: string): void; /** * Get all attribute providers */ getProviders(): AttributeProvider[]; /** * Get attribute value from request */ getAttributeValue(request: ABACRequest, category: 'subject' | 'resource' | 'action' | 'environment', attributeId: string, path?: string): AttributeValue | undefined; /** * Enhance request with additional attributes from providers */ enhanceRequest(request: ABACRequest): Promise; } //# sourceMappingURL=AttributeResolver.d.ts.map