import * as d from '../../declarations';
import ts from 'typescript';
export declare const LegacyScriptTarget = ts.ScriptTarget.ES5;
export declare const ScriptTarget = ts.ScriptTarget.ES2017;
export declare const ModuleKind = ts.ModuleKind.ESNext;
export declare function isMemberPrivate(member: ts.ClassElement): boolean;
export declare function getBuildScriptTarget(build: d.Build): ts.ScriptTarget.ES5 | ts.ScriptTarget.ES2017;
export declare function convertValueToLiteral(val: any, refs?: WeakSet<any>): ts.Identifier | ts.StringLiteral | ts.ObjectLiteralExpression | ts.ArrayLiteralExpression;
export declare function isDecoratorNamed(propName: string): (dec: ts.Decorator) => boolean;
export declare function createStaticGetter(propName: string, returnExpression: ts.Expression): ts.GetAccessorDeclaration;
export interface GetDeclarationParameters {
    <T>(decorator: ts.Decorator): [T];
    <T, T1>(decorator: ts.Decorator): [T, T1];
    <T, T1, T2>(decorator: ts.Decorator): [T, T1, T2];
}
export declare const getDeclarationParameters: GetDeclarationParameters;
export declare function evalText(text: string): any;
export declare function removeDecorators(node: ts.Node, decoratorNames: string[]): void;
export declare function getStaticValue(staticMembers: ts.ClassElement[], staticName: string): any;
export declare function arrayLiteralToArray(arr: ts.ArrayLiteralExpression): any[];
export declare function objectLiteralToObjectMap(objectLiteral: ts.ObjectLiteralExpression): ObjectMap;
export declare class ObjectMap {
    [key: string]: ts.Expression | ObjectMap;
}
export declare function getAttributeTypeInfo(baseNode: ts.Node, sourceFile: ts.SourceFile): d.ComponentCompilerTypeReferences;
export declare function resolveType(checker: ts.TypeChecker, type: ts.Type): string;
export declare function typeToString(checker: ts.TypeChecker, type: ts.Type): string;
export declare function parseDocsType(checker: ts.TypeChecker, type: ts.Type, parts: Set<string>): void;
export declare function getModuleFromSourceFile(compilerCtx: d.CompilerCtx, tsSourceFile: ts.SourceFile): d.Module;
export declare function getComponentMeta(compilerCtx: d.CompilerCtx, tsSourceFile: ts.SourceFile, node: ts.ClassDeclaration): d.ComponentCompilerMeta;
export declare function getComponentTagName(staticMembers: ts.ClassElement[]): string;
export declare function isStaticGetter(member: ts.ClassElement): boolean;
export declare function createImportDeclaration(importPath: string, importFnName: string, importAs?: string): ts.ImportDeclaration;
export declare function addImports(transformCtx: ts.TransformationContext, tsSourceFile: ts.SourceFile, importFnNames: string[], importPath: string): ts.SourceFile;
export declare function serializeSymbol(checker: ts.TypeChecker, symbol: ts.Symbol): d.CompilerJsDoc;
export declare function serializeDocsSymbol(checker: ts.TypeChecker, symbol: ts.Symbol): string;
export declare function isInternal(jsDocs: d.CompilerJsDoc | undefined): boolean;
export declare function isMethod(member: ts.ClassElement, methodName: string): member is ts.MethodDeclaration;
export declare function isAsyncFn(typeChecker: ts.TypeChecker, methodDeclaration: ts.MethodDeclaration): boolean;
