import { Converter } from './converter/index';
import { Renderer } from './output/renderer';
import { Serializer } from './serialization';
import { ProjectReflection } from './models/index';
import { Logger, PluginHost } from './utils/index';
import { AbstractComponent, ChildableComponent } from './utils/component';
import { Options, OptionsReadResult } from './utils/options/index';
export declare class Application extends ChildableComponent<Application, AbstractComponent<Application>> {
    options: Options;
    converter: Converter;
    renderer: Renderer;
    serializer: Serializer;
    logger: Logger;
    plugins: PluginHost;
    loggerType: string | Function;
    ignoreCompilerErrors: boolean;
    exclude: Array<string>;
    static VERSION: string;
    constructor(options?: Object);
    protected bootstrap(options?: Object): OptionsReadResult;
    readonly application: Application;
    readonly isCLI: boolean;
    getTypeScriptPath(): string;
    getTypeScriptVersion(): string;
    convert(src: string[]): ProjectReflection | undefined;
    generateDocs(src: string[], out: string): boolean;
    generateDocs(project: ProjectReflection, out: string): boolean;
    generateJson(src: string[], out: string): boolean;
    generateJson(project: ProjectReflection, out: string): boolean;
    expandInputFiles(inputFiles?: string[]): string[];
    toString(): string;
}
