import { AST } from './expression_parser/ast'; import { CompileDirectiveMetadata, CompileTokenMetadata, CompileProviderMetadata } from './compile_metadata'; import { ParseSourceSpan } from './parse_util'; /** * An Abstract Syntax Tree node representing part of a parsed Angular template. */ export interface TemplateAst { /** * The source span from which this node was parsed. */ sourceSpan: ParseSourceSpan; /** * Visit this node and possibly transform it. */ visit(visitor: TemplateAstVisitor, context: any): any; } /** * A segment of text within the template. */ export declare class TextAst implements TemplateAst { value: string; ngContentIndex: number; sourceSpan: ParseSourceSpan; constructor(value: string, ngContentIndex: number, sourceSpan: ParseSourceSpan); visit(visitor: TemplateAstVisitor, context: any): any; } /** * A bound expression within the text of a template. */ export declare class BoundTextAst implements TemplateAst { value: AST; ngContentIndex: number; sourceSpan: ParseSourceSpan; constructor(value: AST, ngContentIndex: number, sourceSpan: ParseSourceSpan); visit(visitor: TemplateAstVisitor, context: any): any; } /** * A plain attribute on an element. */ export declare class AttrAst implements TemplateAst { name: string; value: string; sourceSpan: ParseSourceSpan; constructor(name: string, value: string, sourceSpan: ParseSourceSpan); visit(visitor: TemplateAstVisitor, context: any): any; } /** * A binding for an element property (e.g. `[property]="expression"`). */ export declare class BoundElementPropertyAst implements TemplateAst { name: string; type: PropertyBindingType; value: AST; unit: string; sourceSpan: ParseSourceSpan; constructor(name: string, type: PropertyBindingType, value: AST, unit: string, sourceSpan: ParseSourceSpan); visit(visitor: TemplateAstVisitor, context: any): any; } /** * A binding for an element event (e.g. `(event)="handler()"`). */ export declare class BoundEventAst implements TemplateAst { name: string; target: string; handler: AST; sourceSpan: ParseSourceSpan; constructor(name: string, target: string, handler: AST, sourceSpan: ParseSourceSpan); visit(visitor: TemplateAstVisitor, context: any): any; fullName: string; } /** * A reference declaration on an element (e.g. `let someName="expression"`). */ export declare class ReferenceAst implements TemplateAst { name: string; value: CompileTokenMetadata; sourceSpan: ParseSourceSpan; constructor(name: string, value: CompileTokenMetadata, sourceSpan: ParseSourceSpan); visit(visitor: TemplateAstVisitor, context: any): any; } /** * A variable declaration on a