import * as ts from 'typescript';
import { MetadataGenerator } from './metadataGenerator';
import { Tsoa } from '@namecheap/tsoa-runtime';
export declare class MethodGenerator {
    private readonly node;
    private readonly current;
    private readonly commonResponses;
    private readonly parentPath?;
    private readonly parentTags?;
    private readonly parentSecurity?;
    private readonly isParentHidden?;
    private method;
    private path;
    private produces?;
    private consumes?;
    constructor(node: ts.MethodDeclaration, current: MetadataGenerator, commonResponses: Tsoa.Response[], parentPath?: string | undefined, parentTags?: string[] | undefined, parentSecurity?: Tsoa.Security[] | undefined, isParentHidden?: boolean | undefined);
    IsValid(): boolean;
    Generate(): Tsoa.Method;
    private buildParameters;
    private getExtensions;
    private getCurrentLocation;
    private processMethodDecorators;
    private getProduces;
    private getConsumes;
    private getMethodResponses;
    private getMethodSuccessResponse;
    private getHeadersFromDecorator;
    private getSchemaFromDecorator;
    private getMethodSuccessExamples;
    private supportsPathMethod;
    private getIsDeprecated;
    private getOperationId;
    private getTags;
    private getSecurity;
    private getIsHidden;
    private getDecoratorsByIdentifier;
    private getProducesAdapter;
}
