import type { FasedAgentConfig } from "../config/config.js";
import { type ModelProviderConfig } from "../config/types.models.js";
import { type ModelCatalogSource, type NormalizedModelCatalogRow } from "./model-catalog-normalized.js";
import { deriveModelMetadata } from "./model-metadata.js";
export type FasedRuntimeModelCatalogSource = {
    id?: unknown;
    name?: unknown;
    provider?: unknown;
    contextWindow?: unknown;
    maxTokens?: unknown;
    reasoning?: unknown;
    input?: unknown;
    baseUrl?: unknown;
    api?: unknown;
};
export type FasedModelCatalogEntry = {
    id: string;
    name: string;
    provider: string;
    contextWindow?: number;
    maxTokens?: number;
    reasoning?: boolean;
    input?: Array<"text" | "image">;
    baseUrl?: string;
    api?: string;
    catalogSource?: ModelCatalogSource;
    metadata?: ReturnType<typeof deriveModelMetadata>;
};
export declare function buildFasedModelCatalogRows(params: {
    config: FasedAgentConfig;
    runtimeModels?: readonly FasedRuntimeModelCatalogSource[];
    providerPluginProviders?: Record<string, ModelProviderConfig>;
    onRuntimeEntryError?: (error: unknown) => void;
}): NormalizedModelCatalogRow[];
export declare function buildFasedModelCatalogEntries(params: {
    config: FasedAgentConfig;
    runtimeModels?: readonly FasedRuntimeModelCatalogSource[];
    providerPluginProviders?: Record<string, ModelProviderConfig>;
    includeMetadata?: boolean;
    onRuntimeEntryError?: (error: unknown) => void;
}): FasedModelCatalogEntry[];
