import { ISwaggerModel, SwaggerModel } from "./swagger-model";
import { ISwaggerClass, SwaggerClass } from "./swagger-class";
import { ISwaggerEnum, SwaggerEnum } from "./swagger-enum";
import { ISwaggerPath, SwaggerPath } from "./swagger-path";
import { ISwaggerDocConfig } from "./swagger-doc-config";
import { SwaggerBasePrivateProps } from "./swagger-base-private-props";
import { ObjectEx } from "./object-ex";
import { ISwaggerUtils } from "./default-utils";
export interface ISwaggerDoc {
    models: ISwaggerModel[];
    classes: ISwaggerClass[];
    paths: ISwaggerPath[];
    enums: ISwaggerEnum[];
}
interface PrivateProps extends SwaggerBasePrivateProps<null> {
    config: ISwaggerDocConfig;
}
export declare class SwaggerDoc extends ObjectEx<PrivateProps> implements ISwaggerDoc {
    models: SwaggerModel[];
    classes: SwaggerClass[];
    paths: SwaggerPath[];
    enums: SwaggerEnum[];
    utils: ISwaggerUtils;
    constructor(config: ISwaggerDocConfig, utils: ISwaggerUtils);
    addEnums(): void;
    init(): void;
    get doc(): SwaggerDoc;
    get config(): ISwaggerDocConfig;
    set config(value: ISwaggerDocConfig);
}
export {};
