import * as parser from '@babel/parser'; import * as t from '@babel/types'; import { IScope } from '../types'; export declare class ParseError extends Error { readonly expr: string | t.Expression; readonly detail: unknown; constructor(expr: string | t.Expression, detail: unknown); } export interface ParseExpressionGetGlobalVariablesOptions { filter?: (varName: string) => boolean; } export declare function parseExpressionGetKeywords(expr: string | null | undefined): string[]; export declare function parseExpressionGetGlobalVariables(expr: string | null | undefined, { filter }?: ParseExpressionGetGlobalVariablesOptions): string[]; export declare function parseExpressionConvertThis2Context(expr: string | t.Expression, contextName?: string, localVariables?: string[]): string; export declare function parseExpression(expr: string): t.Expression & { errors: parser.ParseError[]; }; export declare function transformExpressionLocalRef(expr: string, scope: IScope): string; export declare function parseExpressionConvertThisInFCJsx(expr: string | t.Expression, localVariables?: string[]): string;