import { type AgentId, type ProviderCliSourcePreference } from '@happier-dev/agents';
export type ProviderCliResolutionSource = 'override' | 'system' | 'managed';
export type ProviderCliCommandResolution = Readonly<{
    source: ProviderCliResolutionSource;
    command: string;
}>;
type RuntimeResolutionOptions = Readonly<{
    isBunRuntime?: boolean;
    currentExecPath?: string | null;
}>;
export declare function readBackendCliSourcePreference(agentId: AgentId, processEnv?: NodeJS.ProcessEnv): ProviderCliSourcePreference;
export declare function readProviderCliOverride(agentId: AgentId, processEnv?: NodeJS.ProcessEnv): string | null;
export declare function resolveProviderCliManagedCommandPath(agentId: AgentId, opts?: Readonly<{
    happyHomeDir?: string | null;
    processEnv?: NodeJS.ProcessEnv;
}>): string;
export declare function providerCliPathRequiresJavaScriptRuntime(candidatePath: string): boolean;
export declare function isProviderCliPathRunnable(commandPath: string, processEnv: NodeJS.ProcessEnv, runtimeOptions: RuntimeResolutionOptions): boolean;
export declare function resolveProviderCliCommand(agentId: AgentId, opts?: Readonly<{
    processEnv?: NodeJS.ProcessEnv;
} & RuntimeResolutionOptions>): ProviderCliCommandResolution | null;
export {};
//# sourceMappingURL=resolution.d.ts.map