/** * Permission definition functionality * * Provides utilities for defining permissions in a structured way. * * @module @jay-js/system/guard/core/define */ import type { TDefinePermission } from "../types"; /** * Defines permissions for a role and subject * * @param role - The role or roles that the permissions apply to * @param subject - The subject that the permissions apply to * @returns A permission definition object with methods to allow or forbid actions * * @example * ```ts * const userPermissions = definePermissions('user', 'articles') * .allow(['read', 'comment']) * .forbid(['edit', 'delete']) * .save(); * ``` */ export declare function definePermissions(role: string | string[], subject: string): TDefinePermission;