import { SwaggerDoc } from './swagger-doc';
import { SwaggerModel } from './swagger-model';
import { SwaggerBase } from './swagger-base';
import { SwaggerMethodParameter } from './swagger-method-parameter';
import { SwaggerModelProperty } from './swagger-model-property';
import { SwaggerBasePrivateProps } from './swagger-base-private-props';
export interface ISwaggerEnum {
    name: string;
    getFullName: string;
    description?: string;
    type?: string;
    enumValues?: string[];
    namespace?: string;
    fileName: string;
}
interface IModelProp {
    modelDef?: SwaggerModel;
    modelPropDef?: SwaggerModelProperty;
    methodPropertyDef?: SwaggerMethodParameter;
}
interface PrivateProps extends SwaggerBasePrivateProps<SwaggerDoc> {
}
export declare class SwaggerEnum extends SwaggerBase<SwaggerDoc, PrivateProps> implements ISwaggerEnum {
    name: string;
    description?: string;
    type?: string;
    namespace?: string;
    enumValues?: string[];
    fileName: string;
    keys: string[];
    duplicateNamespaces: string[];
    get getFullName(): string;
    constructor(parent: SwaggerDoc, key: string, model: IModelProp, source: any);
    toJSON(): this & {
        [x: string]: string;
    };
    init(): void;
}
export {};
