import * as ts from 'typescript';
import { Host } from '../services/ts-host/host';
import { FileInfo } from '../services/TsParser/FileInfo';
import { ModuleDoc } from './ModuleDoc';
export interface ApiDoc {
    docType: string;
    name: string;
    id: string;
    aliases: string[];
    path: string;
    outputPath: string;
    content: string;
    symbol: ts.Symbol;
    declaration: ts.Declaration;
    fileInfo: FileInfo;
    startingLine: number;
    endingLine: number;
}
export declare abstract class BaseApiDoc implements ApiDoc {
    host: Host;
    moduleDoc: ModuleDoc;
    symbol: ts.Symbol;
    declaration: ts.Declaration;
    aliasSymbol?: ts.Symbol | undefined;
    abstract docType: string;
    name: string;
    aliases: string[];
    id: string;
    basePath: string;
    fileInfo: FileInfo;
    startingLine: number;
    endingLine: number;
    content: string;
    path: string;
    outputPath: string;
    originalModule: any;
    typeChecker: ts.TypeChecker;
    constructor(host: Host, moduleDoc: ModuleDoc, symbol: ts.Symbol, declaration: ts.Declaration, aliasSymbol?: ts.Symbol | undefined);
    protected getTypeString(decl: ts.Declaration): string | undefined;
}
