import type { RenderContext } from "../../Renderer.js";
import { EnumOption } from "../../RendererOptions/index.js";
import { AcronymStyleOptions } from "../../support/Acronyms.js";
import { TargetLanguage } from "../../TargetLanguage.js";
import type { LanguageName, RendererOptions } from "../../types.js";
import { JavaScriptPropTypesRenderer } from "./JavaScriptPropTypesRenderer.js";
export declare const javaScriptPropTypesOptions: {
    acronymStyle: EnumOption<"acronym-style", {
        readonly original: AcronymStyleOptions.Original;
        readonly pascal: AcronymStyleOptions.Pascal;
        readonly camel: AcronymStyleOptions.Camel;
        readonly lowerCase: AcronymStyleOptions.Lower;
    }, AcronymStyleOptions>;
    converters: EnumOption<"converters", {
        readonly "top-level": import("../../support/Converters.js").ConvertersOptions.TopLevel;
        readonly "all-objects": import("../../support/Converters.js").ConvertersOptions.AllObjects;
    }, import("../../support/Converters.js").ConvertersOptions>;
    moduleSystem: EnumOption<"module-system", {
        readonly "common-js": false;
        readonly es6: true;
    }, "common-js" | "es6">;
};
export declare const javaScriptPropTypesLanguageConfig: {
    readonly displayName: "JavaScript PropTypes";
    readonly names: readonly ["javascript-prop-types"];
    readonly extension: "js";
};
export declare class JavaScriptPropTypesTargetLanguage extends TargetLanguage<typeof javaScriptPropTypesLanguageConfig> {
    constructor();
    getOptions(): typeof javaScriptPropTypesOptions;
    protected makeRenderer<Lang extends LanguageName = "javascript-prop-types">(renderContext: RenderContext, untypedOptionValues: RendererOptions<Lang>): JavaScriptPropTypesRenderer;
}
