import { Policy, PermissionContext } from "./types"; /** * Manages policies for fine-grained access control */ export declare class PolicyManager { private policies; /** * Adds a new policy */ addPolicy(policy: Policy): void; /** * Gets a policy by ID */ getPolicy(policyId: string): Policy | undefined; /** * Gets all policies */ getAllPolicies(): Policy[]; /** * Removes a policy */ removePolicy(policyId: string): boolean; /** * Evaluates all policies for a given resource and action (async) */ evaluatePoliciesAsync(resource: string, action: string, context: PermissionContext): Promise<{ granted: boolean; matchedPolicies: string[]; }>; /** * Evaluates all policies for a given resource and action (sync only) */ evaluatePolicies(resource: string, action: string, context: PermissionContext): { granted: boolean; matchedPolicies: string[]; }; /** * Checks if a policy applies to a resource and action */ private policyApplies; /** * Checks if a string matches a wildcard pattern */ private matchesWildcard; /** * Clears all policies */ clear(): void; } //# sourceMappingURL=PolicyManager.d.ts.map