import { PermissionCheckConfig } from "../../../../fd-toolbox/server/auth/permissions/permission-check-config";
import { UserPermissionList } from "../../core/types/user-permission";
import { CrudAction } from "../../../../fd-toolbox/enums/enums";
/**
 * Checks if a specific user has permission for a specific resource and {@link CrudAction}.
 *
 * @param resourceName - Name of the resource
 * @param action - {@link CrudAction} CRUD action
 * @param userId - User Id
 */
export declare function hasPermission(permissionCheckConfig: PermissionCheckConfig): Promise<boolean>;
export declare function hasPermission(resourceName: string, action: CrudAction, userId: string): Promise<boolean>;
export declare function hasPropertyPermissionAsync(propertyId: string, permissionCheckConfig: PermissionCheckConfig): Promise<boolean>;
/** @monorepo-internal */
export declare function getUserPermissions(userId: string): Promise<UserPermissionList>;
/** @monorepo-internal */
export declare function clearPendingPermissionsRequests(): void;
