import * as typescript from 'typescript';
import TsClassDefinition from '../Types/TsClassDefinition';
import TsEnumDefinition from '../Types/TsEnumDefinition';
import TsFile from '../Types/TsFile';
import TsFunctionCall from '../Types/TsFunctionCall';
import TsFunctionDefinition from '../Types/TsFunctionDefinition';
import TsImportDefinition from '../Types/TsImportDefinition';
import TsNodeSequence from '../Types/TsNodeSequence';
import TsParameterDefinition from '../Types/TsParameterDefinition';
import TsPropertyDefinition from '../Types/TsPropertyDefinition';
import TsTypeAlias from '../Types/TsTypeAlias';
import TsTypeReference, { TsClassTypeReference, TsConstructorTypeReference, TsFunctionTypeReference, TsQualifiedTypeReference } from '../Types/TsTypeReference';
export default class TsBakeryConverter {
    private nodeConverter;
    convertPath(path: string): TsFile;
    convertSourceFile(sourceFile: typescript.SourceFile): TsFile;
    convertImportDeclaration(importDeclaration: typescript.ImportDeclaration): TsImportDefinition;
    convertEnumDeclaration(enumDeclaration: typescript.EnumDeclaration): TsEnumDefinition;
    convertInterfaceDeclaration(interfaceDeclaration: typescript.InterfaceDeclaration): TsClassDefinition;
    convertPropertySignature(propertySignature: typescript.PropertySignature): TsPropertyDefinition;
    convertMethodSignature(methodSignature: typescript.MethodSignature): TsFunctionDefinition;
    convertAccessorDeclaration(accessor: typescript.GetAccessorDeclaration | typescript.SetAccessorDeclaration): TsFunctionDefinition;
    convertParameterDeclaration(parameter: typescript.ParameterDeclaration): TsParameterDefinition;
    convertTypeNode(node: typescript.TypeNode): TsTypeReference;
    convertNodeToTypeReference(node: typescript.Node): TsTypeReference;
    convertFunctionTypeNode(node: typescript.FunctionTypeNode): TsFunctionTypeReference;
    convertConstructorTypeNode(node: typescript.ConstructorTypeNode): TsConstructorTypeReference;
    convertTypeReferenceNode(node: typescript.TypeReferenceNode): TsClassTypeReference | TsQualifiedTypeReference;
    convertClassDeclaration(classDeclaration: typescript.ClassDeclaration): TsClassDefinition;
    private convertClassModifiers;
    convertDecorator(decorator: typescript.Decorator): TsFunctionCall;
    convertPropertyDeclaration(propertyDeclaration: typescript.PropertyDeclaration): TsPropertyDefinition;
    convertConstructorDeclaration(constructorDeclaration: typescript.ConstructorDeclaration): TsFunctionDefinition;
    convertFunctionDeclaration(functionDeclaration: typescript.FunctionDeclaration): TsFunctionDefinition;
    convertMethodDeclaration(methodDeclaration: typescript.MethodDeclaration): TsFunctionDefinition;
    convertHeritageClause(heritageClause: typescript.HeritageClause): string[];
    convertExpression(expression: typescript.Expression): TsNodeSequence;
    private buildExpressionSequence;
    convertExportAssignment(exportAssignment: typescript.ExportAssignment): string;
    convertTypeAliasDeclaration(typeAlias: typescript.TypeAliasDeclaration): TsTypeAlias;
    convertIdentifier(node: typescript.Node): string;
    private convertFunctionLikeDeclaration;
    private logNode;
}
