import { Expression } from "@babel/types"; export declare function handleExpression(path: any, state: any): void; /** * Wrap path with react component * @param path represents path of expression to be wrapped by component * @param state */ export declare function handleJSXWrappableExpression(path: any, state: any): import("@babel/types").JSXElement | null | undefined; export declare function handleExpressionRecursive(path: any, state: RecurseState): string; export declare function handleIdentifier(path: any, state: RecurseState): string; export declare function handleMemberExpression(path: any, state: RecurseState): string; export declare function handleCallExpression(path: any, state: RecurseState): string; export declare function handleStringLiteral(path: any, state: RecurseState): any; export declare function handleTemplateLiteral(path: any, state: RecurseState): string; export declare function handleConditionalExpression(path: any, state: RecurseState): string; /** * given an interpolation node and variables wrap in a react component * @param childNode represents the interpolation text * @param variables key = variable name, value = expression node */ export declare function wrapTrComponent(childNode: any, variables: Map): import("@babel/types").JSXElement; /** * check if a term in the binary question or template expression is a tr function call * return if component is valid and if it has any non-space text * i.e. tr("text") + "text" returns false * i.e. `${tr("text") + text}` returns false */ export declare function isExpressionValid(path: any): ExpressionProperties; export declare const expressionVisitor: { Expression(path: any, state: any): void; }; declare type RecurseState = { nested: boolean; jsxWrappable: boolean; variables: Map; placeholderIndex: number; }; declare type ExpressionProperties = { isValid: boolean; hasText: boolean; }; export {};