/**
 * Validates that an AST expression is one of the allowed expression types
 *
 * This utility function is used during Edge template compilation to ensure
 * that only specific expression types are allowed in certain contexts.
 *
 * @param expression - The AST expression to validate
 * @param expressions - Array of allowed expression type names
 * @param errorCallback - Function to call when validation fails
 *
 * @example
 * ```js
 * // Ensure expression is either a literal or identifier
 * isSubsetOf(astNode, ['Literal', 'Identifier'], () => {
 *   throw new Error('Invalid expression type')
 * })
 *
 * // Allow only object expressions
 * isSubsetOf(astNode, ['ObjectExpression'], () => {
 *   throw new EdgeError('Expected object expression')
 * })
 * ```
 */
export declare function isSubsetOf(expression: {
    type: string;
}, expressions: string[], errorCallback: () => void): void;
