/**
 * Cell categorizer — copied from client/shared/src/lib/platform/utils/cell-categorizer.ts
 * with imports adjusted for local types.
 */
import { type CellEdit } from './types.js';
/** Categories of quality issues that can be flagged on a mutated cell. */
export declare enum IssueType {
    UNTAGGED_HARDCODED_NUMBER = "hardcodes",
    HARDCODED_NUMBER_IN_FORMULA = "hardcodes in formulas",
    LARGE_PERCENTAGE = "large %s",
    INVALID_FORMULA = "formula errs"
}
/** Issues that require MUST FIX prefix */
export declare const MUST_FIX_ISSUES: Set<IssueType>;
/** A cell paired with the quality issues detected on it. */
export interface CategorizedCell {
    cell: CellEdit;
    issues: IssueType[];
}
/** Result of categorizing a batch of cells into good vs. problem buckets. */
export interface CategorizedCells {
    goodCells: CellEdit[];
    largePercentages: CategorizedCell[];
    hardcodedNumbers: CategorizedCell[];
    hardcodedNumbersInFormulas: CategorizedCell[];
    invalidFormulas: CategorizedCell[];
    allProblemCells: CategorizedCell[];
}
/** Detect all quality issues on a single cell edit. */
export declare function categorizeCellIssues(cell: CellEdit): CategorizedCell;
/** Partition a list of cell edits into good cells and per-issue-type buckets. */
export declare function categorizeCells(cells: CellEdit[]): CategorizedCells;
//# sourceMappingURL=cell-categorizer.d.ts.map