/** * Parser for authorizer expressions using Acorn. * * Parses expressions with implicit auth context: * - `model.id === userId` * - `hasRole('admin')` * - `hasSomeRole(['admin', 'moderator'])` * - `model.id === userId || hasRole('admin')` * - `exists(model.members, { userId: userId })` * - `all(model.tasks, { isCompleted: true })` * * Uses Acorn to parse as JavaScript, then converts the ESTree AST * to our domain-specific AST, rejecting unsupported constructs. */ import type { AuthorizerExpressionInfo } from './authorizer-expression-ast.js'; /** * Parse an authorizer expression string into our domain AST. * * @param input - The expression string to parse * @returns The parsed expression info including AST and dependencies * @throws {AuthorizerExpressionParseError} If the expression is invalid * * @example * ```typescript * const result = parseAuthorizerExpression("model.id === auth.userId"); * // result.ast = { type: 'fieldComparison', ... } * // result.modelFieldRefs = ['id'] * // result.authFieldRefs = ['userId'] * ``` */ export declare function parseAuthorizerExpression(input: string): AuthorizerExpressionInfo; //# sourceMappingURL=authorizer-expression-acorn-parser.d.ts.map