import { z } from "zod"; /** Built-in roles, ordered from most to least privileged. */ export declare const AccessRoleSchema: z.ZodEnum<{ author: "author"; owner: "owner"; admin: "admin"; editor: "editor"; member: "member"; guest: "guest"; }>; /** * Namespaced capabilities derived from the project domain. * Format: `:[:]`. */ export declare const AccessCapabilitySchema: z.ZodEnum<{ "content:create": "content:create"; "content:publish": "content:publish"; "content:edit:own": "content:edit:own"; "content:edit:any": "content:edit:any"; "content:delete:own": "content:delete:own"; "content:delete:any": "content:delete:any"; "conversations:use": "conversations:use"; "conversations:moderate": "conversations:moderate"; "members:manage": "members:manage"; "roles:assign": "roles:assign"; "system:admin": "system:admin"; }>; /** A role definition: slug, human label and the capabilities it grants. */ export declare const AccessRoleDefinitionSchema: z.ZodObject<{ slug: z.ZodEnum<{ author: "author"; owner: "owner"; admin: "admin"; editor: "editor"; member: "member"; guest: "guest"; }>; label: z.ZodString; capabilities: z.ZodArray>; }, z.core.$strip>; /** * Structural subject for access checks. Decoupled from the persistence layer: * any object with an id and a role list can be checked (e.g. a Prisma * `Account` row, a JWT payload, or a test fixture). */ export declare const AccessSubjectSchema: z.ZodObject<{ id: z.ZodUnion; roles: z.ZodArray>; }, z.core.$strip>; //# sourceMappingURL=access.schema.d.ts.map