import { PrecompileOptions } from '../parser/tokenizer-event-handlers'; import { SourceLocation } from '../source/location'; import { Source } from '../source/source'; import { SourceSpan } from '../source/span'; import { BlockSymbolTable, SymbolTable } from '../symbol-table'; import * as ASTv1 from '../v1/api'; import * as ASTv2 from './api'; import { Builder } from './builders'; import { Resolution } from './loose-resolution'; export declare function normalize(source: Source, options?: PrecompileOptions): [ast: ASTv2.Template, locals: string[]]; /** * A `BlockContext` represents the block that a particular AST node is contained inside of. * * `BlockContext` is aware of template-wide options (such as strict mode), as well as the bindings * that are in-scope within that block. * * Concretely, it has the `PrecompileOptions` and current `SymbolTable`, and provides * facilities for working with those options. * * `BlockContext` is stateless. */ export declare class BlockContext