import type { ModelProfile, SeedAgentConfig } from "../../config/schema.js";
export type SeedModelRouteAttempt = {
    attempt: number;
    source: "agent_override" | "model_profile" | "fallback" | "opencode_current";
    model?: string;
    providerID?: string;
    modelID?: string;
    variant?: string;
    model_profile?: ModelProfile;
};
export type SeedModelRoute = {
    target_agent: string;
    model_profile?: ModelProfile;
    requested_model?: string;
    attempts: SeedModelRouteAttempt[];
    warnings: string[];
};
export type SeedCurrentModelRouteInput = {
    providerID?: string;
    modelID?: string;
    variant?: string;
};
export declare function currentModelFromRun(run: {
    model_provider?: string;
    model_id?: string;
    model_variant?: string;
}): SeedCurrentModelRouteInput | undefined;
export declare function resolveModelRoute(config: SeedAgentConfig, targetAgent: string, currentModel?: SeedCurrentModelRouteInput): SeedModelRoute;
export declare function modelRefForPrompt(attempt: SeedModelRouteAttempt): {
    providerID: string;
    modelID: string;
} | undefined;
export declare function compactModelRoute(route: SeedModelRoute): Record<string, unknown>;
