import * as t from "@babel/types";
import { IteratorVariableReference, ProgramScope, ResourceScope } from "./types";
import { TFExpressionSyntaxTree as tex } from "@cdktf/hcl2json";
import { AttributeType } from "@cdktf/commons";
export declare function expressionAst(input: string): Promise<tex.ExpressionType>;
export declare function convertTerraformExpressionToTs(scope: ResourceScope, input: string, targetType: () => AttributeType): Promise<t.Expression>;
export declare function extractIteratorVariablesFromExpression(input: string): Promise<IteratorVariableReference[]>;
export declare function dynamicVariableToAst(scope: ProgramScope, node: tex.ScopeTraversalExpression, iteratorName: string, block?: string): t.Expression;
//# sourceMappingURL=expressions.d.ts.map