import { ForClauseParsed } from '../types/core.types.js'; export declare function doPermApplyToCtx(ctx: Ctx, expectedPermissions: MaybeArray, /** Define which value should be returned when ctx.isSystem. * * => 'matchStrict' will search for an exact matching perm in forPerms * * => 'matchAll' will search for a matching perm in forPerms, including 'ALL' perm */ returnValueIfSystem: 'alwaysReturnTrue' | 'alwaysReturnFalse' | 'matchStrict' | 'matchAll', /** Define which value should be returned when ctx.isPublic. * * => 'matchStrict' will search for an exact matching perm in forPerms * * => 'matchAll' will search for a matching perm in forPerms, including 'ALL' perm */ returnValueIfPublic: 'alwaysReturnTrue' | 'alwaysReturnFalse' | 'matchStrict' | 'matchAll', /** If forPerm includes public, what shall be returned for a user with a perm 'user' for example? */ returnValueIfForPermContainsPublic: 'alwaysReturnTrue' | 'alwaysReturnFalse' | 'match'): Promise;