import { OpenAPIV3 } from 'openapi-types';

type PathItemObject = OpenAPIV3.PathItemObject;
type IMethod = Omit<PathItemObject, '$ref' | 'description' | 'parameters' | 'servers' | 'summary'>;
interface MethodIterator {
    objectName: string;
    objectMethod: OpenAPIV3.OperationObject;
}
declare function MethodIterator(Method: IMethod | undefined): {
    objectName: string;
    objectMethod: {
        tags?: string[] | undefined;
        summary?: string | undefined;
        description?: string | undefined;
        externalDocs?: OpenAPIV3.ExternalDocumentationObject | undefined;
        operationId?: string | undefined;
        parameters?: (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[] | undefined;
        requestBody?: OpenAPIV3.ReferenceObject | OpenAPIV3.RequestBodyObject | undefined;
        responses: OpenAPIV3.ResponsesObject;
        callbacks?: {
            [callback: string]: OpenAPIV3.ReferenceObject | OpenAPIV3.CallbackObject;
        } | undefined;
        deprecated?: boolean | undefined;
        security?: OpenAPIV3.SecurityRequirementObject[] | undefined;
        servers?: OpenAPIV3.ServerObject[] | undefined;
    };
}[] | undefined;

export { MethodIterator };
