import type { FasedAgentConfig } from "../config/config.js";
import type { AgentModelProviderConfig, AgentTaskModelRolesConfig } from "../config/types.agents-shared.js";
export type AgentProviderModelSelection = {
    providerId?: string;
    config?: AgentModelProviderConfig;
};
export type AgentProviderTaskModelRoleSelection = {
    providerId: string;
    model: string;
    source: "active-provider" | "attached-provider";
};
export declare function normalizeModelProviderId(providerId: string | undefined | null): string;
export declare function modelProviderFromRef(value: string | undefined | null): string | undefined;
export declare function cleanAgentModelProviderConfig(value: AgentModelProviderConfig | undefined): AgentModelProviderConfig | undefined;
export declare function cleanAgentModelProviders(value: Record<string, AgentModelProviderConfig> | undefined): Record<string, AgentModelProviderConfig> | undefined;
export declare function resolveAgentModelProviders(cfg: FasedAgentConfig, agentId: string | undefined): Record<string, AgentModelProviderConfig>;
export declare function resolveAgentActiveModelProvider(cfg: FasedAgentConfig, agentId: string | undefined): string | undefined;
export declare function resolveAgentModelProviderSelection(params: {
    cfg: FasedAgentConfig;
    agentId?: string;
    providerId?: string;
}): AgentProviderModelSelection;
export declare function resolveAgentModelProviderProfileId(params: {
    cfg: FasedAgentConfig;
    agentId?: string;
    providerId?: string;
}): string | undefined;
export declare function resolveAgentModelProviderPrimary(params: {
    cfg: FasedAgentConfig;
    agentId?: string;
    providerId?: string;
}): string | undefined;
export declare function resolveAgentModelProviderFallbacksOverride(params: {
    cfg: FasedAgentConfig;
    agentId?: string;
    providerId?: string;
}): string[] | undefined;
export declare function resolveAgentModelProviderTaskModels(params: {
    cfg: FasedAgentConfig;
    agentId?: string;
    providerId?: string;
}): AgentTaskModelRolesConfig | undefined;
export declare function resolveAgentModelProviderTaskModelRole(params: {
    cfg: FasedAgentConfig;
    agentId?: string;
    role: keyof AgentTaskModelRolesConfig;
}): AgentProviderTaskModelRoleSelection | undefined;
