import { BrandedSdkEmitterOptions, UnbrandedSdkEmitterOptions } from "@azure-tools/typespec-client-generator-core";
export const LIB_NAME = "@azure-tools/typespec-java";
export const EmitterOptionsSchema = {
    type: "object",
    properties: {
        // service
        ...BrandedSdkEmitterOptions.namespace,
        "service-name": { type: "string", nullable: true },
        // sample and test
        ...BrandedSdkEmitterOptions["examples-dir"],
        "generate-samples": { type: "boolean", nullable: true, default: true },
        "generate-tests": { type: "boolean", nullable: true, default: true },
        "enable-sync-stack": { type: "boolean", nullable: true, default: true },
        "stream-style-serialization": { type: "boolean", nullable: true, default: true },
        "use-object-for-unknown": { type: "boolean", nullable: true, default: false },
        // customization
        ...UnbrandedSdkEmitterOptions["generate-protocol-methods"],
        ...UnbrandedSdkEmitterOptions["generate-convenience-methods"],
        "partial-update": { type: "boolean", nullable: true, default: false },
        "models-subpackage": { type: "string", nullable: true },
        "custom-types": { type: "string", nullable: true },
        "custom-types-subpackage": { type: "string", nullable: true },
        "customization-class": { type: "string", nullable: true },
        // configure
        "skip-special-headers": { type: "array", items: { type: "string" }, nullable: true },
        "enable-subclient": { type: "boolean", nullable: true, default: false },
        // versioning
        ...UnbrandedSdkEmitterOptions["api-version"],
        "advanced-versioning": { type: "boolean", nullable: true, default: false },
        "service-version-exclude-preview": { type: "boolean", nullable: true, default: false },
        // dev options
        "dev-options": {
            type: "object",
            description: "Developer options for http-client-java emitter.",
            properties: {
                "generate-code-model": {
                    type: "boolean",
                    description: "Generate intermittent 'code-model.yaml' file in output directory.",
                    nullable: true,
                },
                "debug": {
                    type: "boolean",
                    description: "Enable Java remote debug on port 5005.",
                    nullable: true,
                },
                "loglevel": {
                    type: "string",
                    description: "Log level for Java logging. Default is 'warn'.",
                    nullable: true,
                    enum: ["off", "debug", "info", "warn", "error"],
                },
                "java-temp-dir": {
                    type: "string",
                    description: "Temporary working directory for Java code generator.",
                    nullable: true,
                },
            },
            nullable: true,
            additionalProperties: false,
            required: [],
        },
    },
    additionalProperties: true,
    required: [],
};
//# sourceMappingURL=options.js.map