import type { PermissionString, Resource, CrudAction, CustomAction, PermissionDetails } from "../types/permission-registry";
export declare class PermissionService {
    validatePermission(permission: PermissionString): boolean;
    validatePermissions(permissions: PermissionString[]): boolean;
    permissionMatches(pattern: PermissionString, permission: PermissionString): boolean;
    createPermissionString(resource: Resource | "*", action: CrudAction | CustomAction | "*", isCustom?: boolean): PermissionString;
    getAllPermissions(): Array<{
        resource: Resource;
        action: CrudAction | CustomAction;
    } & PermissionDetails>;
    getPermissionsByCategory(category: string): ({
        resource: Resource;
        action: CrudAction | CustomAction;
    } & PermissionDetails)[];
    getPermissionCategories(): string[];
    getPermissionsByResource(resource: Resource): {
        description: string;
        category: string;
        resource: Resource;
        action: CrudAction | CustomAction;
    }[];
    getPermissionsByAction(action: CrudAction | CustomAction): ({
        resource: Resource;
        action: CrudAction | CustomAction;
    } & PermissionDetails)[];
}
//# sourceMappingURL=permission.service.d.ts.map