import { BaselineSyntax } from '../scanner';
import { SymbolTable } from '@glimmer/interfaces';
export declare type Syntax = BaselineSyntax.AnyStatement;
export declare type Name = BaselineSyntax.AnyStatement[0];
export declare type SpecializeFunction = (sexp: Syntax, symbolTable: SymbolTable) => Syntax;
export declare class Specialize {
    private names;
    private funcs;
    add(name: Name, func: SpecializeFunction): void;
    specialize(sexp: Syntax, table: SymbolTable): Syntax;
}
export declare const SPECIALIZE: Specialize;
