/** * Field-Level Access Control * * Enforces FieldAccessConfig (create/read/update) by filtering * fields from request data or response documents based on permissions. */ import type { Field, RequestContext } from '@momentumcms/core'; /** * Check if any fields in the collection have access control defined. * Recursively checks through all field nesting (groups, arrays, blocks, layout fields). * Used as a fast-path to skip processing when no field access is configured. */ export declare function hasFieldAccessControl(fields: Field[]): boolean; /** * Filter fields the user cannot read from a response document. * Returns a new document with restricted fields removed. */ export declare function filterReadableFields(fields: Field[], doc: Record, req: RequestContext): Promise>; /** * Filter fields the user cannot create from input data. * Returns a new data object with restricted fields removed. */ export declare function filterCreatableFields(fields: Field[], data: Record, req: RequestContext): Promise>; /** * Filter fields the user cannot update from input data. * Returns a new data object with restricted fields removed. */ export declare function filterUpdatableFields(fields: Field[], data: Record, req: RequestContext): Promise>;