/**
 * Resolve the final fallback model list to attempt for an OpenCode subagent
 * call.
 *
 * Policy (decided 2026-05-10):
 *   - If user configured explicit `fallback_models` in their magic-context.jsonc
 *     for this agent: use ONLY those. Respects user intent, no surprise
 *     providers.
 *   - If user did NOT configure any: fall back to the plugin's builtin
 *     provider-agnostic chain (`AGENT_MODEL_REQUIREMENTS`).
 *
 * The returned list does NOT include the primary model — it's the ordered
 * list of *alternates* to try after the primary fails. Each entry is
 * "provider/modelID" form.
 *
 * Duplicates and empty strings are filtered. Entries that don't match the
 * "provider/modelID" shape (must contain a "/" with non-empty parts) are
 * also dropped — defensive guard against malformed user config.
 */
export declare function resolveFallbackChain(agentName: string, userFallbacks: readonly string[] | string | undefined): string[];
/**
 * Parse a "provider/modelID" string into the OpenCode `model` object shape.
 * Returns null on invalid input.
 *
 * Note: only splits on the FIRST "/" — modelID can legitimately contain slashes
 * (e.g. `lemonade/GLM-4.7-Flash-GGUF/main`).
 */
export declare function parseProviderModel(spec: string): {
    providerID: string;
    modelID: string;
} | null;
//# sourceMappingURL=resolve-fallbacks.d.ts.map