import type { ThinkingLevel } from "@pk-nerdsaver-ai/pi-agent-core";
import type { Api, ApiKey, Model } from "@pk-nerdsaver-ai/pi-ai";
import type { ApiKeyResolverRegistry } from "../config/api-key-resolver";
import { type ModelLookupRegistry } from "../config/model-resolver";
import type { Settings } from "../config/settings";
export interface ResolvedCommitModel {
    model: Model<Api>;
    /**
     * Resolver for the model's bearer: re-resolves on 401 / usage-limit so the
     * whole commit pipeline (analysis, map/reduce, changelog) inherits the
     * central force-refresh + account-rotation policy.
     */
    apiKey: ApiKey;
    thinkingLevel?: ThinkingLevel;
}
type CommitModelRegistry = ModelLookupRegistry & ApiKeyResolverRegistry & {
    getApiKey: (model: Model<Api>) => Promise<string | undefined>;
};
export declare function resolvePrimaryModel(override: string | undefined, settings: Settings, modelRegistry: CommitModelRegistry): Promise<ResolvedCommitModel>;
export declare function resolveSmolModel(settings: Settings, modelRegistry: CommitModelRegistry, fallbackModel: Model<Api>, fallbackApiKey: ApiKey): Promise<ResolvedCommitModel>;
export {};
