import IDocClass from "./IDocClass";
import DocumentedModule from "./DocumentedModule";
import IFolder from "../../storage/IFolder";
import IFile from "../../storage/IFile";
import IDocFunction from "./IDocFunction";
import IDocProperty from "./IDocProperty";
export default class DocumentedClass {
    private _id?;
    private _isLoaded;
    private _undocumentedCount;
    private _effectiveFuncs;
    private _effectiveProps;
    isInterface: boolean;
    private module;
    infoJsonFiles: {
        [memberName: string]: IFile;
    } | undefined;
    classDefinition: IDocClass;
    parentClasses: DocumentedClass[];
    get isLoaded(): boolean;
    get undocumentedCount(): number;
    get id(): string | undefined;
    set id(newId: string | undefined);
    get docClass(): IDocClass;
    constructor(module: DocumentedModule, docClass: IDocClass);
    load(): Promise<void>;
    getEffectiveFunctions(): IDocFunction[];
    getEffectiveProperties(): IDocProperty[];
    getFunction(name: string): IDocFunction;
    getProperty(name: string): IDocProperty;
    persist(): Promise<boolean>;
    generateUndocumentedCount(): void;
    ensureInfoJson(docsFolder: IFolder): Promise<void>;
}
