import { SdkEmitterOptions } from "@azure-tools/typespec-client-generator-core";
import { EmitContext, JSONSchemaType } from "@typespec/compiler";
import { LoggerLevel } from "./lib/log-level.js";
export interface NetEmitterOptions extends SdkEmitterOptions {
    "api-version"?: string;
    outputFile?: string;
    logFile?: string;
    namespace: string;
    "library-name": string;
    "single-top-level-client"?: boolean;
    skipSDKGeneration?: boolean;
    "unreferenced-types-handling"?: "removeOrInternalize" | "internalize" | "keepAll";
    "new-project"?: boolean;
    "clear-output-folder"?: boolean;
    "save-inputs"?: boolean;
    "model-namespace"?: boolean;
    "existing-project-folder"?: string;
    "keep-non-overloadable-protocol-signature"?: boolean;
    debug?: boolean;
    "models-to-treat-empty-string-as-null"?: string[];
    "additional-intrinsic-types-to-treat-empty-string-as-null"?: string[];
    "methods-to-keep-client-default-value"?: string[];
    "deserialize-null-collection-as-null-value"?: boolean;
    logLevel?: LoggerLevel;
    "package-dir"?: string;
    "head-as-boolean"?: boolean;
    flavor?: string;
    "generate-sample-project"?: boolean;
    "generate-test-project"?: boolean;
    "use-model-reader-writer"?: boolean;
    "disable-xml-docs"?: boolean;
    "plugin-name"?: string;
    "emitter-extension-path"?: string;
}
export declare const NetEmitterOptionsSchema: JSONSchemaType<NetEmitterOptions>;
export declare const defaultOptions: {
    "api-version": string;
    outputFile: string;
    logFile: string;
    skipSDKGeneration: boolean;
    "new-project": boolean;
    "clear-output-folder": boolean;
    "save-inputs": boolean;
    "generate-protocol-methods": boolean;
    "generate-convenience-methods": boolean;
    "package-name": undefined;
    debug: undefined;
    "models-to-treat-empty-string-as-null": undefined;
    "additional-intrinsic-types-to-treat-empty-string-as-null": never[];
    "methods-to-keep-client-default-value": undefined;
    "deserialize-null-collection-as-null-value": undefined;
    logLevel: LoggerLevel;
    flavor: undefined;
    "generate-test-project": boolean;
    "plugin-name": string;
    "emitter-extension-path": undefined;
};
export declare function resolveOptions(context: EmitContext<NetEmitterOptions>): {
    outputFile: string;
    logFile: string;
    "api-version": string;
    namespace: string;
    "library-name": string;
    "single-top-level-client"?: boolean;
    skipSDKGeneration: boolean;
    "unreferenced-types-handling"?: "removeOrInternalize" | "internalize" | "keepAll";
    "new-project": boolean;
    "clear-output-folder": boolean;
    "save-inputs": boolean;
    "model-namespace"?: boolean;
    "existing-project-folder"?: string;
    "keep-non-overloadable-protocol-signature"?: boolean;
    debug: boolean;
    "models-to-treat-empty-string-as-null": string[];
    "additional-intrinsic-types-to-treat-empty-string-as-null": string[];
    "methods-to-keep-client-default-value": string[];
    "deserialize-null-collection-as-null-value": boolean;
    logLevel: LoggerLevel;
    "package-dir"?: string;
    "head-as-boolean"?: boolean;
    flavor: string;
    "generate-sample-project"?: boolean;
    "generate-test-project": boolean;
    "use-model-reader-writer"?: boolean;
    "disable-xml-docs"?: boolean;
    "plugin-name": string;
    "emitter-extension-path": string;
    "generate-protocol-methods": boolean;
    "generate-convenience-methods": boolean;
    "package-name": string;
    "flatten-union-as-enum"?: boolean;
    "examples-directory"?: string;
    "examples-dir"?: string;
};
export declare function resolveOutputFolder(context: EmitContext<NetEmitterOptions>): string;
//# sourceMappingURL=options.d.ts.map