import type { KaijiBotConfig } from "../config/config.js";
import { type ProviderConfig } from "./models-config.providers.js";
export type ResolveImplicitProvidersForModelsJson = (params: {
    agentDir: string;
    config: KaijiBotConfig;
    env: NodeJS.ProcessEnv;
    explicitProviders: Record<string, ProviderConfig>;
}) => Promise<Record<string, ProviderConfig>>;
export type ModelsJsonPlan = {
    action: "skip";
} | {
    action: "noop";
} | {
    action: "write";
    contents: string;
};
export declare function resolveProvidersForModelsJsonWithDeps(params: {
    cfg: KaijiBotConfig;
    agentDir: string;
    env: NodeJS.ProcessEnv;
}, deps?: {
    resolveImplicitProviders?: ResolveImplicitProvidersForModelsJson;
}): Promise<Record<string, ProviderConfig>>;
export declare function planKaijiBotModelsJsonWithDeps(params: {
    cfg: KaijiBotConfig;
    sourceConfigForSecrets?: KaijiBotConfig;
    agentDir: string;
    env: NodeJS.ProcessEnv;
    existingRaw: string;
    existingParsed: unknown;
}, deps?: {
    resolveImplicitProviders?: ResolveImplicitProvidersForModelsJson;
}): Promise<ModelsJsonPlan>;
export declare function planKaijiBotModelsJson(params: Parameters<typeof planKaijiBotModelsJsonWithDeps>[0]): Promise<ModelsJsonPlan>;
