import { OpenAPIV3_1 } from "openapi-types";
import { FernRegistry } from "../../../../client/generated";
import { BaseOpenApiV3_1ConverterNode, BaseOpenApiV3_1ConverterNodeConstructorArgs } from "../../../BaseOpenApiV3_1Converter.node";
import { HttpMethod } from "../../../constants";
import { ConstArrayToType, SUPPORTED_RESPONSE_CONTENT_TYPES, SUPPORTED_STREAMING_FORMATS } from "../../../types/format.types";
import { SchemaConverterNode } from "../../schemas/SchemaConverter.node";
import { ExampleObjectConverterNode } from "../ExampleObjectConverter.node";
import { RequestMediaTypeObjectConverterNode } from "../request/RequestMediaTypeObjectConverter.node";
export type ResponseContentType = ConstArrayToType<typeof SUPPORTED_RESPONSE_CONTENT_TYPES>;
export type ResponseStreamingFormat = ConstArrayToType<typeof SUPPORTED_STREAMING_FORMATS>;
export declare class ResponseMediaTypeObjectConverterNode extends BaseOpenApiV3_1ConverterNode<OpenAPIV3_1.MediaTypeObject, FernRegistry.api.latest.HttpResponseBodyShape | FernRegistry.api.latest.HttpResponseBodyShape[]> {
    protected streamingFormat: ResponseStreamingFormat | undefined;
    protected path: string;
    protected method: HttpMethod;
    protected statusCode: number;
    protected requests: RequestMediaTypeObjectConverterNode[];
    protected shapes: ExampleObjectConverterNode.Shapes;
    schema: SchemaConverterNode | undefined;
    contentType: ResponseContentType | undefined;
    unsupportedContentType: string | undefined;
    contentSubtype: string | undefined;
    examples: ExampleObjectConverterNode[] | undefined;
    empty: boolean | undefined;
    constructor(args: BaseOpenApiV3_1ConverterNodeConstructorArgs<OpenAPIV3_1.MediaTypeObject>, contentType: string | undefined, streamingFormat: ResponseStreamingFormat | undefined, path: string, method: HttpMethod, statusCode: number, requests: RequestMediaTypeObjectConverterNode[], shapes: ExampleObjectConverterNode.Shapes);
    matchRequestResponseExamplesByName(requests: RequestMediaTypeObjectConverterNode[], responseExamples: Record<string, (OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.ExampleObject | undefined)[]>, matchedExampleNames: Set<string>): void;
    matchExamplesByIndex(requestExamples: ([
        RequestMediaTypeObjectConverterNode,
        string,
        OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.ExampleObject
    ] | undefined)[], responseExamples: [
        string,
        (OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.ExampleObject | undefined)[]
    ][]): void;
    pushResponseExample(responseExamples: Record<string, (OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.ExampleObject | undefined)[]>, request: RequestMediaTypeObjectConverterNode | undefined, requestExampleName: string | undefined, requestExample: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.ExampleObject | undefined): void;
    addGlobalFallbackExample(requests: RequestMediaTypeObjectConverterNode[], responseExamples: Record<string, (OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.ExampleObject | undefined)[]>): void;
    parse(contentType: string | undefined): void;
    convertStreamingFormat(): FernRegistry.api.latest.HttpResponseBodyShape | FernRegistry.api.latest.HttpResponseBodyShape[] | undefined;
    convertJsonLike(): FernRegistry.api.latest.HttpResponseBodyShape | FernRegistry.api.latest.HttpResponseBodyShape[] | undefined;
    convert(): FernRegistry.api.latest.HttpResponseBodyShape | FernRegistry.api.latest.HttpResponseBodyShape[] | undefined;
}
//# sourceMappingURL=ResponseMediaTypeObjectConverter.node.d.ts.map