/**
 * Model + thinking-level resolution at session boot. Model order: explicit
 * boot model > saved session model (with valid api key) > first available.
 * Thinking order: explicit override > saved session thinking > default.
 * Reasoning is forced off for non-reasoning models.
 */
import type { AgentModelRegistry } from '../contracts/agent-model.js';
import type { AgentSessionContext } from '../contracts/agent-session-store.js';
import type { ThinkingLevel } from '../core/core-types.js';
interface SelectInitialRuntimeModelOptions {
    model: Awaited<ReturnType<AgentModelRegistry['getAvailable']>>[number] | undefined;
    modelRegistry: AgentModelRegistry;
    sessionContext: AgentSessionContext;
    thinkingLevel: ThinkingLevel | undefined;
}
interface SelectedInitialRuntimeModel {
    model: SelectInitialRuntimeModelOptions['model'];
    thinkingLevel: ThinkingLevel;
}
/** Pick the model and thinking level a fresh embedded runtime should boot with. */
export declare function selectInitialRuntimeModel(options: SelectInitialRuntimeModelOptions): Promise<SelectedInitialRuntimeModel>;
export {};
//# sourceMappingURL=model-selection.d.ts.map