import type { RefObject } from '@mui/x-internals/types'; import type { GridColDef, GridRowId, GridValidRowModel } from '@mui/x-data-grid-pro'; import type { GridPrivateApiPremium } from "../../../models/gridApiPremium.js"; /** * Whether an insertion into a formula editing surface must be neglected — the * behavior of the column's native editor: a number `` ignores characters * that would make its text non-numeric. Only insertions that break a * representable text are rejected; deleting the `=` of a formula leaves text no * native editor could hold, and editing back out of that state stays free. */ export declare function shouldIgnorePlainEditInput(colDef: GridColDef | undefined, nextText: string, previousText: string): boolean; /** * The text the column's parser is fed for a given editor text — what the * native editor would have reported. A number input reports the empty string * for text it cannot represent (`badInput`), never the text itself, which is * what keeps `NaN` out of the edit state. */ export declare function getPlainEditParserInput(text: string, colDef: GridColDef | undefined): string; /** * Parses editor text to the edit-state value the way the column's native * editor would: formula sources pass through, and a number column never * produces `NaN` (non-numeric text parses as the empty string does). */ export declare function parsePlainEditValue(text: string, colDef: GridColDef | undefined, row: GridValidRowModel | null | undefined, apiRef: RefObject): unknown; /** * The text a formula editing surface displays for the given edit-state value, * or `null` to fall back to the value's own string form. While the plain-edit * draft matches the cell AND the edit state still holds exactly the value the * draft parsed to, the surfaces show the typed text — the parser is lossy * mid-edit (`-` parses to `null`, `0.50` to `0.5`, `SUM(` after deleting the * leading `=` to `null`) and rendering its output back would rewrite what the * user is typing. An external edit-state write breaks the value match and the * draft goes inert on its own. */ export declare function getPlainEditDraftText(apiRef: RefObject, id: GridRowId, field: string, editValue: unknown): string | null;