import type { Graph, NodeId, OverrideConstraint } from '../graph.js'; import type { RegistryAdapter } from '../registry/types.js'; import { type Condition, type OnUnevaluable } from './constraints.js'; export interface CompletionBudget { maxCombinations: number; } export interface BudgetCounter { readonly max: number; spent: number; } export interface ParentSuggestion { consumer: string; version: string; range: string; } export type ProbeResult = { kind: 'found'; suggestion: ParentSuggestion; } | { kind: 'exhausted'; } | { kind: 'none'; }; export declare function probeAlternativeParent(graph: Graph, consumerId: NodeId, opts: { registry: RegistryAdapter; constraints: readonly Condition[]; onUnevaluable: OnUnevaluable; overrides: readonly OverrideConstraint[]; budget: BudgetCounter; }): Promise;