import type { AgentId } from '../types.js';
export type ProviderCliSourcePreference = 'system-first' | 'managed-first';
export type ProviderCliManualInstallKind = 'command' | 'vendor_recipe' | 'none';
export type ProviderCliInstallPlatform = 'darwin' | 'linux' | 'win32';
export type ProviderCliInstallCommand = Readonly<{
    cmd: string;
    args: ReadonlyArray<string>;
    requiresAdmin?: boolean;
    note?: string | null;
}>;
export type ProviderCliManualInstallRecipes = Partial<Record<ProviderCliInstallPlatform, ReadonlyArray<ProviderCliInstallCommand>>> | null;
export type ProviderCliManagedInstallSpec = Readonly<{
    kind: 'github_release_binary';
    githubRepo: string;
    binaryName: string;
}> | Readonly<{
    kind: 'managed_package';
    packageName: string;
    binaryName: string;
}>;
export type ProviderCliRuntimeSpec = Readonly<{
    id: AgentId;
    title: string;
    binaryName: string;
    knownUserBinDirSuffixes?: ReadonlyArray<string> | null;
    sourcePreferenceDefault: ProviderCliSourcePreference;
    managedInstall: ProviderCliManagedInstallSpec | null;
    manualInstallKind: ProviderCliManualInstallKind;
    manualInstallRecipes: ProviderCliManualInstallRecipes;
    acceptsJavaScriptFileOverride: boolean;
    installGuideUrl?: string | null;
    docsUrl?: string | null;
}>;
export declare const PROVIDER_CLI_RUNTIME_SPECS: Readonly<Record<AgentId, ProviderCliRuntimeSpec>>;
export declare function getProviderCliRuntimeSpec(id: AgentId): ProviderCliRuntimeSpec;
//# sourceMappingURL=providerCliRuntime.d.ts.map