import type { ColumnKind, ResolvedDep, SelectedUpdate } from './interfaces.ts';
export type Selection = -1 | 0 | 1 | 2 | 3 | 4;
type VersionClass = 'gray' | 'green' | 'orange' | 'red' | 'yellow';
export declare function classifyCell(prefix: '^' | '~' | '', column: ColumnKind, hasValue: boolean): VersionClass;
/**
 * Maximum risk level eligible for auto-selection.
 * - `'green'`: only in-range bumps (caret patch/minor, tilde patch, mixed-range
 *   normalize). This is the default — auto-default is purely additive and
 *   never silently broadens or breaks the declared range.
 * - `'yellow'`: also allow out-of-range-but-not-breaking bumps (caret major,
 *   tilde minor, pinned patch). Useful when you want updo to pick the
 *   safest non-no-op bump even when no green is available.
 * - `'red'`: also allow range-breaking bumps (tilde major, pinned minor,
 *   pinned major). Almost no one should run with this — equivalent to
 *   "auto-select anything available."
 */
export type RiskLevel = 'green' | 'yellow' | 'red';
export interface DefaultSelectionOptions {
    /** When true, prefer the highest available bump (major > minor > patch). */
    latest?: boolean;
    /** Highest classification level eligible for auto-selection. Default 'green'. */
    risk?: RiskLevel;
}
export declare function defaultSelection(dep: ResolvedDep, options?: DefaultSelectionOptions): Selection;
export declare function interactiveSelect(deps: ResolvedDep[], options?: {
    includeNext?: boolean;
    latest?: boolean;
    risk?: RiskLevel;
}): Promise<SelectedUpdate[]>;
export {};
//# sourceMappingURL=interactiveSelect.d.ts.map