import ts = require("./typesystem");
import schemaUtil = require('./schemaUtil');
import { ParseNode } from "./parse";
import typeExpressionDefs = require("./typeExpressionUtil");
export declare type BaseNode = typeExpressionDefs.BaseNode;
export declare type Union = typeExpressionDefs.Union;
export declare type Literal = typeExpressionDefs.Literal;
export declare type Parens = typeExpressionDefs.Parens;
export declare function parseToType(val: string, t: ts.TypeRegistry, contentProvidingNode?: ParseNode, typeAttributeContentProvider?: schemaUtil.IContentProvider, isPropertyType?: boolean): ts.AbstractType;
export declare function storeToString(t: ts.AbstractType): string;
export declare function visit(node: BaseNode, action: (n: BaseNode) => void): void;
export declare function serializeToString(node: BaseNode): string;
export declare function parse(str: string): BaseNode;
