import { CompilerOptions } from "../core/options.js";
import { Diagnostic, SystemHost } from "../core/types.js";
import { TypeSpecConfig } from "./types.js";
export interface ResolveCompilerOptionsOptions extends ConfigToOptionsOptions {
    /** Absolute entrypoint path */
    entrypoint: string;
    /** Explicit config path. */
    configPath?: string;
}
export interface ConfigToOptionsOptions {
    /**
     * Current working directory. This will be used to interpolate `{cwd}` in the config.
     */
    cwd: string;
    /**
     * Environment variables.
     */
    env?: Record<string, string | undefined>;
    /**
     * Any arguments to interpolate the config.
     */
    args?: Record<string, string>;
    /** Compiler options to override the config */
    overrides?: Partial<TypeSpecConfig>;
}
/**
 * Resolve the compiler options for the given entrypoint by resolving the tspconfig.yaml.
 * @param host Compiler host
 * @param options
 */
export declare function resolveCompilerOptions(host: SystemHost, options: ResolveCompilerOptionsOptions): Promise<[CompilerOptions, readonly Diagnostic[]]>;
/**
 * Resolve the compiler options from the given raw TypeSpec config
 * @param config TypeSpec config.
 * @param options Options for interpolation in the config.
 * @returns
 */
export declare function resolveOptionsFromConfig(config: TypeSpecConfig, options: ConfigToOptionsOptions): import("../core/types.js").DiagnosticResult<CompilerOptions>;
export declare function validateConfigNames(config: TypeSpecConfig): readonly Diagnostic[];
//# sourceMappingURL=config-to-options.d.ts.map