import type { EnumType, IntersectionType, Parameter, RefAliasType, RefEnumType, RefObjectType, ReferenceType, ResolverProperty, UnionType } from '@trapi/metadata';
import type { ParameterV2, SchemaV2, SpecV2 } from '../../schema';
import { AbstractSpecGenerator } from '../abstract';
export declare class V2Generator extends AbstractSpecGenerator<SpecV2, SchemaV2> {
    build(): Promise<SpecV2>;
    private static translateSecurityDefinitions;
    protected buildSchemaForRefObject(referenceType: RefObjectType): SchemaV2;
    protected buildSchemaForRefEnum(referenceType: RefEnumType): SchemaV2;
    protected buildSchemaForRefAlias(referenceType: RefAliasType): SchemaV2;
    private buildPaths;
    private buildMethod;
    private transformParameterSource;
    protected buildParameter(input: Parameter): ParameterV2;
    private buildMethodConsumes;
    private hasFileParams;
    private hasFormParams;
    private supportsBodyParameters;
    protected getSchemaForEnumType(enumType: EnumType): SchemaV2;
    protected getSchemaForIntersectionType(type: IntersectionType): SchemaV2;
    protected getSchemaForReferenceType(referenceType: ReferenceType): SchemaV2;
    protected getSchemaForUnionType(type: UnionType): SchemaV2;
    protected buildProperties(properties: ResolverProperty[]): Record<string, SchemaV2>;
    private buildOperation;
}
//# sourceMappingURL=module.d.ts.map