import { OpenAPIV2 } from 'openapi-types';
interface InternalParameter {
    name: string;
    required?: boolean;
    type: string;
}
interface Description {
    name: string;
    text: string;
}
export declare enum HttpMethod {
    DELETE = "delete",
    GET = "get",
    HEAD = "head",
    PATCH = "patch",
    POST = "post",
    PUT = "put",
    REQUEST = "request"
}
export declare class MethodGenerator {
    private readonly responses;
    private readonly spec;
    private readonly url;
    private readonly operation;
    readonly bodyParameters: InternalParameter[];
    readonly descriptions?: Description[];
    readonly formattedUrl: string;
    readonly imports: string[];
    readonly requiresBearerAuthorization: boolean;
    readonly method: HttpMethod;
    readonly needsDataObj: boolean;
    readonly normalizedUrl: string;
    readonly parameterMethod: string;
    readonly pathParameters: InternalParameter[];
    readonly queryParameters: InternalParameter[];
    readonly returnType: string;
    constructor(url: string, method: HttpMethod, operation: OpenAPIV2.OperationObject, spec: OpenAPIV2.Document);
    private includesSuccessResponse;
    private buildDescriptions;
    private parameterIsReference;
    private getSchemaFromRef;
    private buildParameters;
    private buildSimpleType;
    private buildResponseSchema;
}
export {};
