/**
 * Catalog of ShortcutXL-served models and the registry that exposes them
 * (with API-key/OAuth resolution) to the embedded runtime.
 */
import { type Api, type Model } from '../ai/types.js';
import type { AgentModelRegistry } from '../contracts/agent-model.js';
/** Provider tag the registry uses to gate auth and model lookup. */
export declare const ShortcutXLAgentProviderId: {
    readonly Shortcut: "shortcut";
};
export type ShortcutXLAgentProviderId = (typeof ShortcutXLAgentProviderId)[keyof typeof ShortcutXLAgentProviderId];
/** Stable id for each model the ShortcutXL runtime knows how to stream. */
export declare const ShortcutXLAgentModelId: {
    readonly ClaudeOpus47: "claude-opus-4-7";
    readonly ClaudeOpus48: "claude-opus-4-8";
    readonly ClaudeSonnet46: "claude-sonnet-4-6";
    readonly Gpt55: "gpt-5.5-2026-04-23";
    /**
     * Opaque alias for the free fallback model. Selected by host degraded mode,
     * never user-selectable. The proxy validates eligibility and resolves the
     * real upstream model server-side.
     */
    readonly FreeModel: "free-model";
};
export type ShortcutXLAgentModelId = (typeof ShortcutXLAgentModelId)[keyof typeof ShortcutXLAgentModelId];
export interface CreateShortcutXLAgentModelOptions {
    readonly baseUrl?: string;
    readonly gatewayModelIds?: readonly string[];
}
export interface CreateShortcutXLAgentModelRegistryOptions extends CreateShortcutXLAgentModelOptions {
    getAccessToken?: () => Promise<string | undefined>;
}
/** Build a `AgentModelRegistry` over the ShortcutXL model catalog. */
export declare function createShortcutXLAgentModelRegistry(options?: CreateShortcutXLAgentModelRegistryOptions): AgentModelRegistry;
/** Resolve a single model by id, or fall back to the catalog default. */
export declare function createShortcutXLAgentModel(modelId?: string, options?: CreateShortcutXLAgentModelOptions): Model<Api> | undefined;
//# sourceMappingURL=model-registry.d.ts.map