import { SdkEmitterOptions } from "@azure-tools/typespec-client-generator-core";
import { EmitContext, JSONSchemaType } from "@typespec/compiler";
import { LoggerLevel } from "./lib/log-level.js";
/**
 * The emitter options for the CSharp emitter.
 * @beta
 */
export interface NetEmitterOptions extends SdkEmitterOptions {
    "api-version"?: string;
    outputFile?: string;
    logFile?: string;
    namespace: string;
    "library-name": string;
    skipSDKGeneration?: boolean;
    "unreferenced-types-handling"?: "removeOrInternalize" | "internalize" | "keepAll";
    "new-project"?: boolean;
    "clear-output-folder"?: boolean;
    "save-inputs"?: boolean;
    "model-namespace"?: boolean;
    debug?: boolean;
    logLevel?: LoggerLevel;
    "disable-xml-docs"?: boolean;
    "plugin-name"?: string;
    "emitter-extension-path"?: string;
}
/**
 * The JSON schema for the CSharp emitter options.
 * @beta
 */
export declare const NetEmitterOptionsSchema: JSONSchemaType<NetEmitterOptions>;
/**
 * The default options for the CSharp emitter.
 * @beta
 */
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;
    logLevel: LoggerLevel;
    "plugin-name": string;
    "emitter-extension-path": undefined;
};
/**
 * Resolves the options for the CSharp emitter.
 * @param context - The emit context.
 * @returns The resolved options.
 * @beta
 */
export declare function resolveOptions(context: EmitContext<NetEmitterOptions>): {
    outputFile: string;
    logFile: string;
    "api-version": string;
    namespace: string;
    "library-name": string;
    skipSDKGeneration: boolean;
    "unreferenced-types-handling"?: "removeOrInternalize" | "internalize" | "keepAll";
    "new-project": boolean;
    "clear-output-folder": boolean;
    "save-inputs": boolean;
    "model-namespace"?: boolean;
    debug: boolean;
    logLevel: LoggerLevel;
    "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;
    "emitter-name"?: string;
};
//# sourceMappingURL=options.d.ts.map