import type { RenderContext } from "../../Renderer.js";
import { TargetLanguage } from "../../TargetLanguage.js";
import { type StringTypeMapping } from "../../Type/TypeBuilderUtils.js";
import type { LanguageName, RendererOptions } from "../../types.js";
import { JSONSchemaRenderer } from "./JSONSchemaRenderer.js";
export declare const JSONSchemaLanguageConfig: {
    readonly displayName: "JSON Schema";
    readonly names: readonly ["schema", "json-schema"];
    readonly extension: "schema";
};
export declare class JSONSchemaTargetLanguage extends TargetLanguage<typeof JSONSchemaLanguageConfig> {
    constructor();
    getOptions(): {};
    get stringTypeMapping(): StringTypeMapping;
    get supportsOptionalClassProperties(): boolean;
    get supportsFullObjectType(): boolean;
    protected makeRenderer<Lang extends LanguageName = "json-schema">(renderContext: RenderContext, _untypedOptionValues: RendererOptions<Lang>): JSONSchemaRenderer;
}
