import { Declaration, ExpressionWithTypeArguments, Symbol } from 'typescript';
import { Host } from '../services/ts-host/host';
import { ParsedDecorator } from "../services/TsParser/getDecorators";
import { ContainerExportDoc } from './ContainerExportDoc';
import { ModuleDoc } from './ModuleDoc';
export declare class HeritageInfo {
    type: ExpressionWithTypeArguments;
    text: string;
    symbol: Symbol | undefined;
    doc: ClassLikeExportDoc | undefined;
    constructor(type: ExpressionWithTypeArguments, text: string);
}
/**
 * Interfaces and classes are "class-like", in that they can contain members, heritage, type parameters and decorators
 */
export declare abstract class ClassLikeExportDoc extends ContainerExportDoc {
    decorators: ParsedDecorator[] | undefined;
    extendsClauses: HeritageInfo[];
    implementsClauses: HeritageInfo[];
    descendants: ClassLikeExportDoc[];
    typeParams: string;
    constructor(host: Host, moduleDoc: ModuleDoc, symbol: Symbol, declaration: Declaration, aliasSymbol?: Symbol);
    private computeTypeParams;
    private addAliases;
    private computeHeritageClauses;
}
