import * as ts from 'typescript'; import { NormalizedSchema } from './jsonSchema'; import SchemaId from './schemaId'; import { Schema } from './type'; export declare function buildKeyword(kind: ts.KeywordTypeSyntaxKind): ts.KeywordTypeNode; export declare function buildAnyKeyword(): ts.KeywordTypeNode; export declare function buildNeverKeyword(): ts.KeywordTypeNode; export declare function buildUnknownKeyword(): ts.KeywordTypeNode; export declare function buildStringKeyword(): ts.KeywordTypeNode; export declare function buildSimpleArrayNode(element: ts.TypeNode): ts.ArrayTypeNode; export declare function buildNullKeyword(): ts.LiteralTypeNode; export declare function buildStringLiteralTypeNode(s: string): ts.LiteralTypeNode; export declare function buildNumericLiteralTypeNode(n: string): ts.LiteralTypeNode; export declare function buildBooleanLiteralTypeNode(b: boolean): ts.LiteralTypeNode; export declare function buildNamespaceNode(name: string, statements: ts.Statement[], root: boolean): ts.ModuleDeclaration; export declare function buildInterfaceNode(id: SchemaId, members: ts.TypeElement[], root: boolean): ts.InterfaceDeclaration; export declare function buildTypeAliasNode(id: SchemaId, type: ts.TypeNode, root: boolean): ts.TypeAliasDeclaration; export declare function buildPropertySignature(schema: NormalizedSchema, propertyName: string, valueType: ts.TypeNode, required: string[] | undefined, isPattern: boolean | undefined): ts.PropertySignature | ts.IndexSignatureDeclaration; export declare function buildIndexSignatureNode(name: string, indexType: ts.TypeNode, valueType: ts.TypeNode): ts.IndexSignatureDeclaration; export declare function buildTypeLiteralNode(elements: ts.TypeElement[]): ts.TypeNode; export declare function buildUnionTypeNode(types: T[], builder: (t: T, index: number) => ts.TypeNode, terminate: boolean): ts.TypeNode; export declare function buildTupleTypeNode(types: ts.TypeNode[], minItems?: number, maxItems?: number): ts.TypeNode; export declare function buildTypeReferenceNode(schema: NormalizedSchema, currentSchema: Schema): ts.TypeReferenceNode; export declare function addComment(node: T, schema: NormalizedSchema, terminate: boolean): T; export declare function addOptionalInformation(node: T, schema: NormalizedSchema, terminate: boolean): T;