import { ResourcePermissionChecker } from "../server/meta-core/auth/permissions/resource-permission-checker";
import { Constructor } from "./constructor";
/**
 * This class-level decorator attaches a custom permission checker to a resource.
 * The permission checker controls access rights and operations allowed on the resource.
 *
 * Sets `{@link ResourceMeta.customPermissionChecker}`.
 *
 * @example
 * ```ts
    @permissionCheckerFor(
        "MyResource",
        async (resource, userId, action) => {
            return action === crudActions.update;
        },
    )
    export class MyResource {}
 *  ```
 */
export declare function permissionCheckerFor(resourceName: string, checker: ResourcePermissionChecker): (_: Constructor<unknown>) => void;
