import type { CliEnvironment } from "./environment.js";
import type { FileSystem } from "../utils/file-system.js";
import type { IsolatedCliSettings, IsolatedEnvValue, ProviderIsolatedEnv } from "./service-registry.js";
import type { ActiveProvider } from "./commands/shared.js";
import type { CliSettings } from "../utils/cli-settings-merge.js";
export interface IsolatedEnvDetails {
    agentBinary: string;
    env: Record<string, string>;
    configProbePath?: string;
}
export declare function resolveIsolatedEnvDetails(env: CliEnvironment, isolated: ProviderIsolatedEnv, providerName?: string, activeProvider?: ActiveProvider): Promise<IsolatedEnvDetails>;
export declare function resolveProviderRuntimeEnv(env: CliEnvironment, vars: Record<string, IsolatedEnvValue>, providerName: string, activeProvider?: ActiveProvider): Promise<Record<string, string>>;
export declare function resolveIsolatedTargetDirectory(input: {
    targetDirectory: string;
    isolated: ProviderIsolatedEnv;
    env: CliEnvironment;
    providerName: string;
}): string;
export declare function isolatedConfigExists(fs: FileSystem, configProbePath: string): Promise<boolean>;
export declare function applyIsolatedEnvRepairs(input: {
    fs: FileSystem;
    env: CliEnvironment;
    providerName: string;
    isolated: ProviderIsolatedEnv;
}): Promise<void>;
export declare function resolveCliSettings(cliSettings: IsolatedCliSettings, env: CliEnvironment, activeProvider?: ActiveProvider): Promise<CliSettings>;
