import { ArrayIterationNode, AssignmentNode, GeneratorAstNode, IfStatementNode, ObjectIterationNode, ParameterNode, ScopedBlockNode, TemplateRootNode } from "./ast"; import { ProgramNode } from "../ngExpression/ast"; export interface AssignOptions { name?: string; variableType?: 'let' | 'const'; typeAnnotation?: string; } export declare function assign(expression: ProgramNode, options?: AssignOptions): AssignmentNode; export declare function arrayIteration(valueName: string, iterable: ProgramNode, children?: GeneratorAstNode[]): ArrayIterationNode; export declare function ifStatement(expression: ProgramNode, children?: GeneratorAstNode[]): IfStatementNode; export declare function objectIteration(keyName: string, valueName: string, iterable: ProgramNode, children?: GeneratorAstNode[]): ObjectIterationNode; export declare function parameter(name: string, typeAnnotation: string): ParameterNode; export declare function templateRoot(children?: GeneratorAstNode[]): TemplateRootNode; export declare function scopedBlock(parameters: ParameterNode[], children?: GeneratorAstNode[], scopeInterface?: string): ScopedBlockNode;