import { CreateSdkContextOptions } from "@azure-tools/typespec-client-generator-core";
import { EmitContext, JSONSchemaType } from "@typespec/compiler";
import { LoggerLevel } from "./lib/logger-level.js";
/**
 * The emitter options for the CSharp emitter.
 * @beta
 */
export interface CSharpEmitterOptions {
    "api-version"?: string;
    "unreferenced-types-handling"?: "removeOrInternalize" | "internalize" | "keepAll";
    "new-project"?: boolean;
    "save-inputs"?: boolean;
    debug?: boolean;
    logLevel?: LoggerLevel;
    "disable-xml-docs"?: boolean;
    "generator-name"?: string;
    "emitter-extension-path"?: string;
    plugins?: string[];
    "sdk-context-options"?: CreateSdkContextOptions;
    "generate-protocol-methods"?: boolean;
    "generate-convenience-methods"?: boolean;
    "package-name"?: string;
    license?: {
        name: string;
        company?: string;
        link?: string;
        header?: string;
        description?: string;
    };
}
/**
 * The JSON schema for the CSharp emitter options.
 * @beta
 */
export declare const CSharpEmitterOptionsSchema: JSONSchemaType<CSharpEmitterOptions>;
/**
 * The default options for the CSharp emitter.
 * @beta
 */
export declare const defaultOptions: {
    "api-version": string;
    "new-project": boolean;
    "save-inputs": boolean;
    "generate-protocol-methods": boolean;
    "generate-convenience-methods": boolean;
    "package-name": undefined;
    debug: undefined;
    logLevel: LoggerLevel;
    "generator-name": string;
    "sdk-context-options": {
        additionalDecorators: string[];
    };
};
/**
 * Resolves the options for the CSharp emitter.
 * @param context - The emit context.
 * @returns The resolved options.
 * @beta
 */
export declare function resolveOptions(context: EmitContext<CSharpEmitterOptions>): {
    "api-version": string;
    "unreferenced-types-handling"?: "removeOrInternalize" | "internalize" | "keepAll";
    "new-project": boolean;
    "save-inputs": boolean;
    debug: boolean;
    logLevel: LoggerLevel;
    "disable-xml-docs"?: boolean;
    "generator-name": string;
    "emitter-extension-path"?: string;
    plugins?: string[];
    "sdk-context-options": CreateSdkContextOptions | {
        additionalDecorators: string[];
    };
    "generate-protocol-methods": boolean;
    "generate-convenience-methods": boolean;
    "package-name": string;
    license?: {
        name: string;
        company?: string;
        link?: string;
        header?: string;
        description?: string;
    };
};
//# sourceMappingURL=options.d.ts.map