{
  "_description": "Mog API method index. Keys are method names, values are one-line summaries. To get full signatures, fetch /docs/api/{InterfaceName}.",
  "_usage": "https://sheetmog.ai/docs/api/{InterfaceName}",
  "version": "0.1.0-alpha",
  "total_interfaces": 50,
  "total_methods": 674,
  "workbook": {
    "markClean": "Reset the dirty flag (call after a successful save).",
    "getSheet": "Get a sheet by internal SheetId",
    "getSheetByName": "Get a sheet by name (case-insensitive)",
    "getSheetByIndex": "Get a sheet by 0-based index",
    "getActiveSheet": "Get the currently active sheet",
    "getOrCreateSheet": "Get a sheet by name, creating it if it doesn't exist",
    "getSheetCount": "Get the number of sheets in the workbook",
    "getSheetNames": "Get the names of all sheets in order",
    "batch": "Execute a batch of operations as a single undo step",
    "createCheckpoint": "Create a named checkpoint (version snapshot)",
    "restoreCheckpoint": "Restore the workbook to a previously saved checkpoint.",
    "listCheckpoints": "List all saved checkpoints.",
    "calculate": "Trigger recalculation of formulas",
    "getCalculationMode": "Get the current calculation mode (auto/manual/autoNoTable)",
    "setCalculationMode": "Set the calculation mode",
    "getIterativeCalculation": "Get whether iterative calculation is enabled for circular references",
    "setIterativeCalculation": "Set whether iterative calculation is enabled for circular references",
    "setMaxIterations": "Set the maximum number of iterations for iterative calculation",
    "setConvergenceThreshold": "Set the convergence threshold (maximum change) for iterative calculation",
    "getUsePrecisionAsDisplayed": "Whether to use displayed precision instead of full (15-digit) precision",
    "setUsePrecisionAsDisplayed": "Set whether to use displayed precision",
    "getCalculationEngineVersion": "Get the calculation engine version string.",
    "on": "Subscribe to a coarse WorkbookEvent or arbitrary event string",
    "executeCode": "Execute TypeScript/JavaScript code in the spreadsheet sandbox.",
    "getWorkbookSnapshot": "Get a summary snapshot of the entire workbook.",
    "getFunctionCatalog": "Get the catalog of all available spreadsheet functions.",
    "getFunctionInfo": "Get detailed info about a specific function.",
    "describeRanges": "Describe multiple ranges across multiple sheets in a single IPC call",
    "exportSnapshot": "Export the workbook as a snapshot.",
    "toBuffer": "Export the workbook as an XLSX binary buffer.",
    "insertWorksheetsFromBase64": "Import sheets from an XLSX file (base64-encoded)",
    "save": "Save the workbook",
    "copyRangeFrom": "Copy a range from another workbook into this workbook.",
    "indexToAddress": "Convert row/col to A1 address: (0, 0) -> \"A1\"",
    "addressToIndex": "Convert A1 address to row/col: \"A1\" -> { row: 0, col: 0 }",
    "union": "Combine multiple range addresses into a single comma-separated address",
    "getCultureInfo": "Get full CultureInfo for the workbook's current culture setting",
    "getDecimalSeparator": "Get the decimal separator for the current culture (e.g",
    "getThousandsSeparator": "Get the thousands separator for the current culture (e.g",
    "getAllTables": "Get all tables across all sheets.",
    "getAllPivotTables": "Get all pivot tables across all sheets.",
    "getAllSlicers": "Get all slicers across all sheets.",
    "getAllComments": "Get all comments across all sheets.",
    "getAllNotes": "Get all notes across all sheets.",
    "searchAllSheets": "Search all sheets for cells matching regex patterns (single IPC call).",
    "getChartDataPointTrack": "Get whether chart data points track cell movement",
    "setChartDataPointTrack": "Set whether chart data points track cell movement.",
    "getSettings": "Get workbook-level settings.",
    "setSettings": "Update workbook-level settings.",
    "getCustomSetting": "Get a custom setting value by key",
    "setCustomSetting": "Set a custom setting value.",
    "deleteCustomSetting": "Delete a custom setting by key.",
    "listCustomSettings": "List all custom settings as key-value pairs.",
    "getCustomSettingCount": "Get the number of custom settings.",
    "close": "Close the workbook with optional save behavior",
    "dispose": "Dispose of the workbook and release resources.",
    "getActiveCell": "Active cell",
    "getSelectedRanges": "Currently selected range(s) as A1 address strings",
    "getSelectedRange": "Primary selected range",
    "getActiveChart": "Active chart object ID, or null.",
    "getActiveShape": "Active shape object ID, or null.",
    "getActiveSlicer": "Active slicer object ID, or null."
  },
  "workbook.sub_apis": {
    "sheets (WorkbookSheets)": {
      "add": "Add a new sheet to the workbook",
      "remove": "Remove a sheet by index or name",
      "move": "Move a sheet to a new position",
      "rename": "Rename a sheet",
      "setActive": "Set the active sheet",
      "copy": "Copy a sheet within the workbook",
      "hide": "Hide a sheet",
      "show": "Show (unhide) a sheet",
      "setSelectedIds": "Set which sheets are selected (multi-sheet selection for collaboration)",
      "on": "Subscribe to sheet collection events"
    },
    "slicers (WorkbookSlicers)": {
      "list": "List all slicers across all sheets in the workbook",
      "get": "Get a slicer by ID from any sheet",
      "getItemAt": "Get a slicer by its zero-based index in the list",
      "getItems": "Get the items (values) available in a slicer by ID",
      "getItem": "Get a slicer item by its string key",
      "getItemOrNullObject": "Get a slicer item by its string key, or null if not found",
      "remove": "Remove a slicer by ID from any sheet",
      "getCount": "Get the total count of slicers across all sheets"
    },
    "slicerStyles (WorkbookSlicerStyles)": {
      "getDefault": "Get the workbook's default slicer style preset",
      "setDefault": "Set the workbook's default slicer style preset",
      "getCount": "Get the number of built-in slicer styles.",
      "getItem": "Get a specific slicer style by name",
      "list": "List all built-in slicer styles.",
      "add": "Add a new custom named slicer style",
      "getItemOrNullObject": "Get a named slicer style by name, or null if not found",
      "delete": "Delete a custom named slicer style",
      "duplicate": "Duplicate an existing named slicer style"
    },
    "pivotTableStyles (WorkbookPivotTableStyles)": {
      "getDefault": "Get the workbook's default pivot table style preset",
      "setDefault": "Set the workbook's default pivot table style preset",
      "getCount": "Get the count of built-in pivot table styles.",
      "getItem": "Get a pivot table style by name, or null if not found.",
      "list": "List all built-in pivot table styles."
    },
    "functions (WorkbookFunctions)": {
      "invoke": "Invoke any spreadsheet function by name with arbitrary arguments",
      "vlookup": "VLOOKUP function",
      "sum": "SUM function.",
      "average": "AVERAGE function.",
      "count": "COUNT function.",
      "max": "MAX function.",
      "min": "MIN function.",
      "concatenate": "CONCATENATE function."
    },
    "names (WorkbookNames)": {
      "add": "Define a new named range",
      "get": "Get a named range by name",
      "getRange": "Get the parsed sheet reference for a named range",
      "remove": "Remove a named range",
      "update": "Update an existing named range",
      "list": "List all named ranges in the workbook",
      "createFromSelection": "Create named ranges from row/column labels in a selection",
      "getValue": "Get the computed value of a named item as a display-formatted string",
      "getType": "Get the OfficeJS-compatible type of a named item's resolved value",
      "getArrayValues": "Get the 2D array of resolved values for a named range",
      "getArrayTypes": "Get the 2D array of type classifications for each cell in a named range",
      "getValueAsJson": "Get the raw typed value of a named item as a JSON-compatible value",
      "recalculateDependents": "Recalculate all formulas that depend on a given named range"
    },
    "scenarios (WorkbookScenarios)": {
      "create": "Create a what-if scenario",
      "list": "List all scenarios in the workbook",
      "apply": "Apply a scenario's values to the worksheet",
      "restore": "Restore original values from a prior apply() call and deactivate the scenario",
      "update": "Update an existing scenario's configuration",
      "delete": "Delete a scenario"
    },
    "history (WorkbookHistory)": {
      "undo": "Undo the last operation.",
      "redo": "Redo the last undone operation.",
      "canUndo": "Check if undo is available",
      "canRedo": "Check if redo is available",
      "list": "Get the undo history entries",
      "goToIndex": "Undo to a specific index in the history",
      "getState": "Get the full undo/redo state from the compute engine",
      "subscribe": "Subscribe to undo/redo state changes",
      "setNextDescription": "Set the description for the next undo step"
    },
    "styles (WorkbookStyles)": {
      "getTableStyles": "Get all table styles (built-in + custom) with a `readOnly` flag.",
      "createTableStyle": "Create a custom table style",
      "updateTableStyle": "Update a custom table style.",
      "removeTableStyle": "Remove a custom table style.",
      "getDefaultTableStyle": "Get the default table style ID applied to new tables.",
      "setDefaultTableStyle": "Set the default table style ID for new tables",
      "duplicateTableStyle": "Duplicate an existing table style",
      "getById": "Get a cell format (style) by its style ID",
      "getCellStyles": "Get all custom cell styles (excludes built-in).",
      "createCellStyle": "Create a new custom cell style.",
      "updateCellStyle": "Update a custom cell style",
      "deleteCellStyle": "Delete a custom cell style"
    },
    "properties (WorkbookProperties)": {
      "getDocumentProperties": "Get all document properties (author, title, keywords, etc.).",
      "setDocumentProperties": "Update document properties (partial merge).",
      "getCustomProperty": "Get a custom document property by key.",
      "setCustomProperty": "Set a custom document property.",
      "removeCustomProperty": "Remove a custom document property.",
      "listCustomProperties": "List all custom document properties."
    },
    "protection (WorkbookProtection)": {
      "protect": "Protect workbook structure with optional password and options.",
      "unprotect": "Unprotect the workbook"
    },
    "notifications (WorkbookNotifications)": {
      "getAll": "Get all active notifications",
      "subscribe": "Subscribe to notification changes",
      "notify": "Show a notification",
      "info": "Show an info notification",
      "success": "Show a success notification",
      "warning": "Show a warning notification",
      "error": "Show an error notification",
      "dismiss": "Dismiss a notification by ID",
      "dismissAll": "Dismiss all notifications"
    },
    "theme (WorkbookTheme)": {
      "getWorkbookTheme": "Get the workbook's OOXML theme definition (color palette + fonts)",
      "setWorkbookTheme": "Set the workbook's OOXML theme definition",
      "getChromeTheme": "Get the current chrome theme (canvas UI shell colors)",
      "setChromeTheme": "Set chrome theme with partial merge semantics"
    },
    "viewport (WorkbookViewport)": {
      "createRegion": "Create a tracked viewport region",
      "resetSheetRegions": "Reset all regions for a sheet (e.g., on sheet switch).",
      "setRenderScheduler": "Inject (or clear) the render scheduler for \"Write = Invalidate\" integration",
      "subscribe": "Subscribe to viewport state change events from all viewport coordinators",
      "setShowFormulas": "Set the show-formulas mode"
    },
    "changes (WorkbookChanges)": {
      "track": "Create a change tracker that accumulates cell-level change records"
    }
  },
  "worksheet": {
    "getName": "Get the sheet name",
    "setName": "Set the sheet name.",
    "getIndex": "Get the 0-based sheet index.",
    "getSheetId": "Get the internal sheet ID.",
    "setCell": "Set a cell value by A1 address",
    "setDateValue": "Set a date value in a cell, automatically applying date format.",
    "setTimeValue": "Set a time value in a cell, automatically applying time format.",
    "getCell": "Get cell data by A1 address.",
    "getRange": "Get a 2D array of cell data for a range (A1 notation).",
    "setRange": "Set a 2D array of values into a range (A1 notation)",
    "clearData": "Clear all cell data (values and formulas) in a range (A1 notation, e.g",
    "clear": "Unified clear with mode selection (OfficeJS Range.clear equivalent)",
    "clearOrResetContents": "Clear cell contents with form control awareness (OfficeJS clearOrResetContent...",
    "getValue": "Get the computed value of a cell by A1 address",
    "getData": "Get all cell values in the used range as a 2D array",
    "getFormula": "Get the formula of a cell by A1 address (null if not a formula cell).",
    "getFormulas": "Get formulas for a range",
    "getFormulaArray": "Get the array formula for a cell that is part of a dynamic array spill",
    "getRawCellData": "Get raw cell data (value, formula, format, borders, etc.) by A1 address.",
    "getRawRangeData": "Get raw data for a range as a 2D array.",
    "getRangeWithIdentity": "Get all non-empty cells in a range with stable CellId identity",
    "describe": "Get a human-readable description of a cell: \"Revenue | =SUM(B2:B10) | [bold]\"",
    "describeRange": "Get a tabular description of a range with formula abbreviation.",
    "summarize": "Get a sheet overview summary for agent context.",
    "getUsedRange": "Get the used range as an A1 string, or null if the sheet is empty.",
    "getCurrentRegion": "Get the contiguous data region around a cell (Excel's Ctrl+Shift+* / CurrentR...",
    "findDataEdge": "Find the data edge in a direction (Excel's Ctrl+Arrow)",
    "findLastRow": "Find the last populated row in a column",
    "findLastColumn": "Find the last populated column in a row",
    "findCells": "Find all cells matching a predicate",
    "findByValue": "Find all cells with a specific value",
    "findByFormula": "Find all cells whose formula matches a regex pattern",
    "regexSearch": "Search cells using regex patterns.",
    "signCheck": "Detect cells whose numeric sign disagrees with their neighbors",
    "findInRange": "Find the first cell matching text within a range (OfficeJS Range.find equival...",
    "replaceAll": "Find and replace all occurrences within a range (OfficeJS Range.replaceAll eq...",
    "getExtendedRange": "Get the extended range in a direction (OfficeJS Range.getExtendedRange / Ctrl...",
    "isEntireColumn": "Check if a range represents entire column(s) (e.g., \"A:C\")",
    "isEntireRow": "Check if a range represents entire row(s) (e.g., \"1:5\")",
    "getVisibleView": "Get only the visible (non-hidden) rows from a range (OfficeJS RangeView equiv...",
    "getSpecialCells": "Find cells matching a special cell type (OfficeJS Range.getSpecialCells equiv...",
    "getDisplayValue": "Get the display value (formatted string) for a cell by A1 address.",
    "getDisplayText": "Get formatted display text for an entire range as a 2D array (OfficeJS Range....",
    "getValueTypes": "Get per-cell value type classification for a range (OfficeJS Range.valueTypes...",
    "getNumberFormatCategories": "Get per-cell number format category for a range (OfficeJS Range.numberFormatC...",
    "sortRange": "Sort a range by the specified options.",
    "autoFill": "Autofill from source range into target range",
    "fillSeries": "Fill a range with a series (Edit > Fill > Series dialog equivalent)",
    "moveTo": "Move (relocate) cells from a source range to a target position",
    "copyFrom": "Copy cells from a source range to a target range with optional paste-special ...",
    "setCells": "Bulk-write scattered cell values and/or formulas in a single IPC call",
    "createTable": "Create a table from headers and data in a single call",
    "toCSV": "Export the used range as a CSV string (RFC 4180 compliant)",
    "toJSON": "Export the used range as an array of row objects",
    "getDependents": "Get cells that depend on this cell by A1 address.",
    "getPrecedents": "Get cells that this cell depends on by A1 address.",
    "getSelectionAggregates": "Get aggregates (SUM, COUNT, AVG, MIN, MAX) for selected ranges.",
    "formatValues": "Batch-format values using number format codes",
    "isVisible": "Check if the sheet is visible (sync -- local metadata).",
    "setVisible": "Show or hide the sheet.",
    "getVisibility": "Get the visibility state of the sheet ('visible', 'hidden', or 'veryHidden').",
    "setVisibility": "Set the visibility state of the sheet.",
    "on": "",
    "setBoundsReader": "Inject the bounds reader (from the renderer's SceneGraphBoundsReader) so that"
  },
  "worksheet.sub_apis": {
    "whatIf (WorksheetWhatIf)": {
      "goalSeek": "Find the input value that makes a formula produce a target result",
      "dataTable": "Compute a sensitivity/scenario table by evaluating a formula with"
    },
    "smartArt (WorksheetSmartArt)": {
      "add": "Add a SmartArt diagram to the sheet",
      "get": "Get a SmartArt diagram by object ID, or null if not found.",
      "remove": "Remove a SmartArt diagram by object ID.",
      "list": "List all SmartArt diagrams on the sheet.",
      "duplicate": "Duplicate a SmartArt diagram",
      "addNode": "Add a node to a diagram",
      "removeNode": "Remove a node from a diagram.",
      "updateNode": "Update a node's properties.",
      "moveNode": "Move a node in the hierarchy.",
      "getNode": "Get a node by ID.",
      "getDiagram": "Get a diagram by object ID.",
      "getDiagramsOnSheet": "Get all diagrams on this sheet.",
      "changeLayout": "Change the diagram layout.",
      "changeQuickStyle": "Change the quick style.",
      "changeColorTheme": "Change the color theme.",
      "getComputedLayout": "Get the computed layout for a diagram",
      "invalidateLayout": "Invalidate the cached layout for a diagram.",
      "invalidateAllLayouts": "Invalidate all cached layouts."
    },
    "changes (WorksheetChanges)": {
      "track": "Create a change tracker that accumulates cell-level change records"
    },
    "formats (WorksheetFormats)": {
      "set": "Set format for a single cell",
      "setRange": "Set format for a contiguous range",
      "setRanges": "Set format for multiple ranges, with full row/column optimization",
      "clear": "Clear format from a single cell, resetting it to default",
      "get": "Get the fully-resolved format of a single cell",
      "getDisplayedCellProperties": "Get the fully-resolved displayed format of a single cell",
      "getDisplayedRangeProperties": "Get displayed formats for a rectangular range",
      "adjustIndent": "Adjust the indent level of a cell by a relative amount",
      "clearFill": "Clear only fill properties of a cell (backgroundColor, patternType, patternFo...",
      "getNumberFormatCategory": "Get the auto-derived number format category for a cell based on its format code",
      "getNumberFormatLocal": "Get the locale-aware number format for a cell (OfficeJS Range.numberFormatLoc...",
      "setNumberFormatLocal": "Set the locale-aware number format for a cell (OfficeJS Range.numberFormatLoc...",
      "applyPattern": "Apply a format pattern from a source range to a target range",
      "getCellProperties": "Get effective (resolved) cell formats for a rectangular range",
      "setCellProperties": "Set cell formats for a batch of individual cells with heterogeneous formats",
      "getRowProperties": "Get row-level formats for the specified rows",
      "setRowProperties": "Set row-level formats for multiple rows",
      "getColumnProperties": "Get column-level formats for the specified columns",
      "setColumnProperties": "Set column-level formats for multiple columns"
    },
    "layout (WorksheetLayout)": {
      "getRowHeight": "Get the height of a row in pixels",
      "setRowHeight": "Set the height of a row",
      "getColumnWidth": "Get the width of a column in character-width units",
      "setColumnWidth": "Set the width of a column in character-width units",
      "getColumnWidthPx": "Get the width of a column in pixels",
      "setColumnWidthPx": "Set the width of a column in pixels",
      "autoFitColumn": "Auto-fit a column width to its content",
      "autoFitColumns": "Auto-fit multiple columns to their content in a single batch call",
      "autoFitRow": "Auto-fit a row height to its content",
      "autoFitRows": "Auto-fit multiple rows to their content in a single batch call",
      "getRowHeightsBatch": "Get row heights for a range of rows",
      "getColWidthsBatch": "Get column widths for a range of columns in character-width units",
      "getColWidthsBatchPx": "Get column widths for a range of columns in pixels",
      "setRowVisible": "Set the visibility of a single row",
      "setColumnVisible": "Set the visibility of a single column",
      "isRowHidden": "Check whether a row is hidden",
      "isColumnHidden": "Check whether a column is hidden",
      "unhideRows": "Unhide all rows in a range",
      "unhideColumns": "Unhide all columns in a range",
      "hideRows": "Hide multiple rows by index",
      "getHiddenRowsBitmap": "Get the set of all hidden row indices",
      "getHiddenColumnsBitmap": "Get the set of all hidden column indices",
      "resetRowHeight": "Reset a row's height to the sheet default",
      "resetColumnWidth": "Reset a column's width to the sheet default in character-width units"
    },
    "view (WorksheetView)": {
      "freezeRows": "Freeze the top N rows",
      "freezeColumns": "Freeze the left N columns",
      "unfreeze": "Remove all frozen panes (both rows and columns).",
      "getFrozenPanes": "Get the current frozen panes configuration",
      "freezeAt": "Freeze rows and columns simultaneously using a range reference",
      "getSplitConfig": "Get the current split view configuration",
      "setSplitConfig": "Set or clear the split view configuration",
      "setGridlines": "Show or hide gridlines",
      "setHeadings": "Show or hide row/column headings",
      "getViewOptions": "Get the current view options (gridlines, headings)",
      "getTabColor": "Get the tab color of this worksheet",
      "setTabColor": "Set or clear the tab color for this worksheet",
      "getScrollPosition": "Get the persistent scroll position (cell-level) for this sheet.",
      "setScrollPosition": "Set the persistent scroll position (cell-level) for this sheet."
    },
    "structure (WorksheetStructure)": {
      "insertRows": "Insert rows starting at the given 0-based index.",
      "deleteRows": "Delete rows starting at the given 0-based index.",
      "insertColumns": "Insert columns starting at the given 0-based index.",
      "deleteColumns": "Delete columns starting at the given 0-based index.",
      "insertCellsWithShift": "Insert cells by shifting existing cells in the specified direction.",
      "deleteCellsWithShift": "Delete cells by shifting remaining cells in the specified direction.",
      "getRowCount": "Get the number of rows with data.",
      "getColumnCount": "Get the number of columns with data.",
      "textToColumns": "Split text in a column into multiple columns.",
      "removeDuplicates": "Remove duplicate rows in a range.",
      "merge": "Merge cells by A1 range.",
      "unmerge": "Unmerge cells by A1 range.",
      "getMergedRegions": "Get all merged regions in the sheet.",
      "getMergeAtCell": "Get the merge containing a cell by A1 address, or null if not merged."
    },
    "charts (WorksheetCharts)": {
      "add": "Add a chart to the sheet",
      "get": "Get a chart by ID, or null if not found.",
      "update": "Update a chart's configuration.",
      "remove": "Remove a chart by ID.",
      "list": "List all charts in the sheet.",
      "duplicate": "Duplicate a chart, offsetting the copy by 2 rows",
      "exportImage": "Export a chart as an image",
      "setDataRange": "Set a chart's data range (A1 notation).",
      "setType": "Set a chart's type and optional sub-type.",
      "getCount": "Get the total number of charts on this sheet.",
      "getByName": "Find a chart by its name, or null if not found.",
      "bringToFront": "Bring a chart to the front (highest z-index).",
      "sendToBack": "Send a chart to the back (lowest z-index).",
      "bringForward": "Bring a chart forward by one layer.",
      "sendBackward": "Send a chart backward by one layer.",
      "linkToTable": "Link a chart to a table so it auto-updates with the table's data.",
      "unlinkFromTable": "Unlink a chart from its source table.",
      "isLinkedToTable": "Check whether a chart is linked to a table.",
      "addSeries": "Add a data series to a chart",
      "removeSeries": "Remove a data series by index.",
      "getSeries": "Get a data series by index.",
      "updateSeries": "Update a data series at the given index.",
      "getSeriesCount": "Get the number of data series in a chart.",
      "reorderSeries": "Reorder a series from one index to another.",
      "setSeriesValues": "Set the values range for a series (A1 notation).",
      "setSeriesCategories": "Set the categories range for a series (A1 notation).",
      "formatPoint": "Format an individual data point within a series.",
      "setPointDataLabel": "Set the data label configuration for an individual data point.",
      "addTrendline": "Add a trendline to a series",
      "removeTrendline": "Remove a trendline from a series by index.",
      "getTrendline": "Get a trendline configuration by index, or null if not found.",
      "getTrendlineCount": "Get the number of trendlines on a series.",
      "getDataTable": "Get the chart's data table configuration, or null if none.",
      "getItemAt": "Get a chart by its positional index, or null if out of range.",
      "setBubbleSizes": "Set the bubble sizes range for a series (A1 notation).",
      "onActivated": "Register a handler for chart activation events",
      "onDeactivated": "Register a handler for chart deactivation events",
      "getAxisItem": "Get an axis by OfficeJS type/group identifiers.",
      "setAxisTitle": "Set axis title from a formula string.",
      "setCategoryNames": "Set category axis labels from a cell range (A1 notation).",
      "getSeriesDimensionValues": "Get computed values for a series dimension.",
      "getSeriesDimensionDataSourceString": "Get the range/formula string for a series dimension.",
      "getSeriesDimensionDataSourceType": "Get the data source type for a series dimension ('range' | 'literal' | 'formu...",
      "getDataLabelSubstring": "Get a rich text substring from a data label.",
      "setDataLabelHeight": "Set the height of a data label.",
      "setDataLabelWidth": "Set the width of a data label.",
      "getDataLabelTailAnchor": "Get the tail anchor point for a data label's leader line.",
      "setTitleFormula": "Set chart title from a formula string.",
      "getTitleSubstring": "Get a rich text substring from the chart title.",
      "activate": "Activate (select + focus) a chart"
    },
    "objects (WorksheetObjectCollection)": {
      "get": "Get a floating object handle by ID",
      "getInfo": "Get summary info (with spatial fields) for a floating object",
      "list": "List all floating objects on the sheet.",
      "deleteMany": "Delete multiple floating objects",
      "delete": "Delete a single floating object by ID",
      "bringToFront": "Bring a floating object to the front (highest z-order).",
      "sendToBack": "Send a floating object to the back (lowest z-order).",
      "bringForward": "Bring a floating object forward by one layer.",
      "sendBackward": "Send a floating object backward by one layer.",
      "update": "Update arbitrary properties of a floating object.",
      "convertToWordArt": "Convert a text box to WordArt by applying WordArt styling.",
      "convertToTextBox": "Convert WordArt back to a regular text box by removing WordArt styling.",
      "computeObjectBounds": "Compute pixel bounding box for a floating object (async — uses ComputeBridge).",
      "computeAllObjectBounds": "Batch-compute pixel bounds for all floating objects on this sheet.",
      "group": "Group multiple floating objects",
      "ungroup": "Ungroup a floating object group."
    },
    "shapes (WorksheetShapeCollection)": {
      "get": "",
      "list": "",
      "add": "",
      "getItemAt": "Get a shape by zero-based index"
    },
    "pictures (WorksheetPictureCollection)": {
      "get": "",
      "list": "",
      "add": ""
    },
    "textBoxes (WorksheetTextBoxCollection)": {
      "get": "",
      "list": "",
      "add": ""
    },
    "drawings (WorksheetDrawingCollection)": {
      "get": "",
      "list": "",
      "add": ""
    },
    "equations (WorksheetEquationCollection)": {
      "get": "",
      "list": "",
      "add": ""
    },
    "wordArt (WorksheetWordArtCollection)": {
      "get": "",
      "list": "",
      "add": ""
    },
    "connectors (WorksheetConnectorCollection)": {
      "get": "",
      "list": ""
    },
    "filters (WorksheetFilters)": {
      "setAutoFilter": "Set an auto-filter on the sheet by parsing an A1-style range string",
      "createAutoFilter": "Create an auto-filter from a CellRange (position-based)",
      "clearAutoFilter": "Clear the auto-filter from the sheet",
      "getAutoFilter": "Get the current auto-filter state",
      "getForRange": "Get the filter overlapping a range, or null if none",
      "remove": "Remove a specific filter by its ID",
      "setColumnFilter": "Set filter criteria for a column on the first auto-filter",
      "applyDynamicFilter": "Apply a dynamic filter rule to a column on the first auto-filter",
      "clearColumnFilter": "Clear filter criteria for a column on the first auto-filter",
      "getUniqueValues": "Get unique values in a column (for filter dropdowns)",
      "setCriteria": "Set filter criteria for a column using filter ID",
      "clearCriteria": "Clear filter criteria for a column",
      "clearAllCriteria": "Clear all filter criteria for a filter",
      "apply": "Apply a filter (Rust evaluates criteria and updates row visibility)",
      "getInfo": "Get detailed filter info including resolved range and column filters",
      "getFilterUniqueValues": "Get unique values for a filter column",
      "list": "List all filters in the sheet",
      "isEnabled": "Whether any auto-filter exists on the sheet",
      "isDataFiltered": "Whether any filter on the sheet has active criteria applied",
      "listDetails": "List all filters with resolved numeric ranges and column filters",
      "getSortState": "Get the sort state for a filter",
      "setSortState": "Set the sort state for a filter"
    },
    "formControls (WorksheetFormControls)": {
      "list": "Get all form controls on this sheet.",
      "get": "Get a specific form control by ID",
      "getAtPosition": "Get form controls at a specific cell position (for hit testing)."
    },
    "conditionalFormats (WorksheetConditionalFormatting)": {
      "add": "Add a new conditional format with ranges and rules",
      "get": "Get a conditional format by its ID",
      "update": "Update an existing conditional format",
      "clearRuleStyle": "Clear the style of a specific rule within a conditional format, resetting",
      "changeRuleType": "Change the type and configuration of a specific rule within a conditional for...",
      "getItemAt": "Get a conditional format by its index in the priority-ordered list",
      "remove": "Remove a conditional format by ID",
      "list": "Get all conditional formats on the sheet",
      "clear": "Clear all conditional formats from the sheet.",
      "clearInRanges": "Clear conditional formats that intersect with the given ranges",
      "reorder": "Reorder conditional formats by format ID array (first = highest priority)",
      "cloneForPaste": "Clone conditional formats from source to target with offset"
    },
    "validation (WorksheetValidation)": {
      "set": "Set a validation rule on a cell or range",
      "remove": "Remove validation from a cell (deletes any range schema covering the cell)",
      "get": "Get the validation rule for a cell",
      "getDropdownItems": "Get dropdown items for a cell with list validation",
      "list": "List all validation rules on the sheet",
      "clear": "Clear validation rules that overlap a range",
      "delete": "Delete a validation rule by its ID",
      "getErrorsInRange": "Get cells with validation errors in a range"
    },
    "tables (WorksheetTables)": {
      "add": "Create a new table from a cell range",
      "get": "Get a table by name",
      "list": "List all tables in this worksheet",
      "getAt": "Get a table by its position in the list of tables on this worksheet",
      "getFirst": "Get the first table on this worksheet",
      "getColumnByName": "Look up a column in a table by its header name",
      "remove": "Remove a table definition, converting it back to a plain range",
      "rename": "Rename a table",
      "update": "Update a table's properties",
      "getAtCell": "Get the table at a specific cell position, if one exists",
      "clearFilters": "Clear all column filters on a table",
      "setStylePreset": "Set the visual style preset for a table",
      "resize": "Resize a table to a new range",
      "addColumn": "Add a column to a table",
      "removeColumn": "Remove a column from a table by index",
      "toggleTotalsRow": "Toggle the totals row visibility on a table",
      "toggleHeaderRow": "Toggle the header row visibility on a table",
      "applyAutoExpansion": "Apply auto-expansion to a table, extending it to include adjacent data",
      "setCalculatedColumn": "Set a calculated column formula for all data cells in a table column",
      "clearCalculatedColumn": "Clear the calculated column formula from a table column, replacing with empty...",
      "getDataBodyRange": "Get the A1-notation range covering the data body of a table (excludes header ...",
      "getHeaderRowRange": "Get the A1-notation range covering the header row of a table",
      "getTotalRowRange": "Get the A1-notation range covering the totals row of a table",
      "addRow": "Add a data row to a table",
      "deleteRow": "Delete a data row from a table",
      "deleteRows": "Delete multiple data rows from a table by their data-body-relative indices",
      "deleteRowsAt": "Delete one or more contiguous data rows from a table starting at `index`",
      "getRowCount": "Get the number of data rows in a table (excludes header and totals rows)",
      "getRowRange": "Get the A1-notation range for a specific data row",
      "getRowValues": "Get the cell values of a specific data row",
      "setRowValues": "Set the cell values of a specific data row",
      "getColumnDataBodyRange": "Get the A1-notation range covering the data body cells of a table column",
      "getColumnHeaderRange": "Get the A1-notation range covering the header cell of a table column",
      "getColumnRange": "Get the A1-notation range covering the entire table column (header + data + t...",
      "getColumnTotalRange": "Get the A1-notation range covering the totals cell of a table column",
      "getColumnValues": "Get the cell values of a table column (data body only)",
      "setColumnValues": "Set the cell values of a table column (data body only)",
      "setHighlightFirstColumn": "Set whether the first column is highlighted",
      "setHighlightLastColumn": "Set whether the last column is highlighted",
      "setShowBandedColumns": "Set whether banded columns are shown",
      "setShowBandedRows": "Set whether banded rows are shown",
      "setShowFilterButton": "Set whether filter buttons are shown on the header row",
      "setShowHeaders": "Set whether the header row is visible",
      "setShowTotals": "Set whether the totals row is visible",
      "sortApply": "Apply sort fields to a table",
      "sortClear": "Clear all sort fields from a table",
      "sortReapply": "Re-evaluate the most recently applied sort specification",
      "getAutoFilter": "Get the auto-filter associated with a table",
      "getRows": "Get a collection-like wrapper around the table's data rows",
      "onTableAdded": "Subscribe to table creation events on this worksheet",
      "onTableDeleted": "Subscribe to table deletion events on this worksheet",
      "onTableChanged": "Subscribe to change events for a specific table",
      "onSelectionChanged": "Subscribe to selection change events for a specific table"
    },
    "pivots (WorksheetPivots)": {
      "add": "Create a new pivot table on this worksheet",
      "addWithSheet": "Atomically create a new sheet AND a pivot table on it",
      "remove": "Remove a pivot table by name",
      "rename": "Rename a pivot table",
      "list": "List all pivot tables on this worksheet",
      "get": "Get a pivot table handle by name",
      "addField": "Add a field to a pivot table area",
      "removeField": "Remove a field from a pivot table area",
      "moveField": "Move a field to a different area or position",
      "setAggregateFunction": "Set the aggregate function for a value field",
      "setShowValuesAs": "Set the \"Show Values As\" calculation for a value field",
      "setSortOrder": "Set the sort order for a row or column field",
      "setFilter": "Set (add or update) a filter on a field",
      "removeFilter": "Remove a filter from a field",
      "resetField": "Reset a field placement to defaults (clear aggregateFunction, sortOrder,",
      "setLayout": "Set layout options for a pivot table",
      "setStyle": "Set style options for a pivot table",
      "detectFields": "Detect fields from source data for pivot table creation",
      "compute": "Compute a pivot table result (uses cache if available)",
      "queryPivot": "Query a pivot table by name, returning flat records optionally filtered by di...",
      "refresh": "Refresh a pivot table (recompute without cache)",
      "refreshAll": "Refresh all pivot tables on this worksheet.",
      "getDrillDownData": "Get drill-down data for a pivot table cell",
      "addCalculatedField": "Add a calculated field to a pivot table",
      "removeCalculatedField": "Remove a calculated field from a pivot table",
      "updateCalculatedField": "Update a calculated field on a pivot table",
      "getRange": "Get the full range occupied by the rendered pivot table",
      "getDataBodyRange": "Get the range of the data body (values only, excluding headers and totals row...",
      "getColumnLabelRange": "Get the range of column label headers",
      "getRowLabelRange": "Get the range of row label headers",
      "getFilterAxisRange": "Get the range of the filter area (page fields above the pivot table)",
      "getAllPivotItems": "Get pivot items for all placed fields (excluding value fields)",
      "setPivotItemVisibility": "Set visibility of specific items in a field",
      "toggleExpanded": "Toggle expansion state for a header",
      "setAllExpanded": "Set expansion state for all headers",
      "getExpansionState": "Get the current expansion state for a pivot table"
    },
    "slicers (WorksheetSlicers)": {
      "add": "Create a new slicer on this worksheet",
      "remove": "Remove a slicer from this worksheet",
      "list": "List all slicers on this worksheet",
      "get": "Get a slicer by ID, including full state",
      "getItemAt": "Get a slicer by its zero-based index in the list",
      "getItems": "Get the items (values) available in a slicer",
      "getItem": "Get a slicer item by its string key",
      "getItemOrNullObject": "Get a slicer item by its string key, or null if not found",
      "setSelection": "Set the selected items in a slicer, replacing any existing selection",
      "clearSelection": "Clear all selections in a slicer (show all items)",
      "duplicate": "Duplicate a slicer with an optional position offset",
      "updateConfig": "Update a slicer's configuration",
      "getState": "Get the enriched runtime state of a slicer"
    },
    "sparklines (WorksheetSparklines)": {
      "add": "Add a sparkline to a cell",
      "addGroup": "Add a group of sparklines with shared settings",
      "get": "Get a sparkline by ID",
      "getAtCell": "Get the sparkline at a specific cell",
      "list": "List all sparklines in the worksheet",
      "getGroup": "Get a sparkline group by ID",
      "listGroups": "List all sparkline groups in the worksheet",
      "update": "Update a sparkline's settings",
      "updateGroup": "Update a sparkline group's settings (applies to all members)",
      "remove": "Remove a sparkline",
      "removeGroup": "Remove a sparkline group and all its member sparklines",
      "clearInRange": "Clear all sparklines whose cell falls within a range",
      "clearAll": "Clear all sparklines in the worksheet.",
      "addToGroup": "Add a sparkline to a group",
      "removeFromGroup": "Remove a sparkline from its group (becomes standalone)",
      "ungroupAll": "Ungroup all sparklines in a group (members become standalone)",
      "has": "Check if a cell has a sparkline",
      "getWithDataInRange": "Get sparklines whose data range intersects with a given range"
    },
    "comments (WorksheetComments)": {
      "addNote": "Add a note to a cell",
      "getNote": "Get the note for a cell as a Note object",
      "removeNote": "Remove the note from a cell",
      "count": "Get the number of comments in the worksheet",
      "noteCount": "Get the number of notes (legacy comments) in the worksheet",
      "listNotes": "List all notes (legacy comments) in the worksheet",
      "getNoteAt": "Get a note by index from the list of all notes",
      "setNoteVisible": "Set the visibility of a note at the given cell address",
      "setNoteHeight": "Set the height of a note callout box in points",
      "setNoteWidth": "Set the width of a note callout box in points",
      "add": "Add a threaded comment to a cell",
      "update": "Update an existing comment's text",
      "updateMentions": "Update a comment with mention content (OfficeJS updateMentions equivalent)",
      "delete": "Delete a comment",
      "resolveThread": "Set the resolved state of a comment thread",
      "list": "List all comments in the worksheet",
      "getForCell": "Get all comments for a specific cell",
      "addReply": "Add a reply to an existing comment",
      "getThread": "Get all comments in a thread (root + replies), sorted by createdAt",
      "getById": "Get a single comment by its ID",
      "getLocation": "Get the A1-style cell address for a comment",
      "getParentByReplyId": "Get the parent comment for a reply",
      "getReplyCount": "Get the number of replies in a thread (excluding the root comment)",
      "getReplyAt": "Get a reply at a specific index within a thread (zero-based, excludes root)",
      "getNoteLocation": "Get the A1-style cell address for a note",
      "hasComment": "Check if a cell has any comments",
      "deleteForCell": "Delete all comments on a cell",
      "clear": "Clear all comments on the worksheet.",
      "clean": "Remove orphaned comments (comments referencing non-existent cells)"
    },
    "hyperlinks (WorksheetHyperlinks)": {
      "set": "Set a hyperlink on a cell",
      "get": "Get the hyperlink URL for a cell",
      "remove": "Remove a hyperlink from a cell"
    },
    "outline (WorksheetOutline)": {
      "groupRows": "Group rows in a range",
      "ungroupRows": "Ungroup rows in a range",
      "groupColumns": "Group columns in a range",
      "ungroupColumns": "Ungroup columns in a range",
      "toggleCollapsed": "Toggle the collapsed state of a group",
      "expandAll": "Expand all groups in the worksheet.",
      "collapseAll": "Collapse all groups in the worksheet.",
      "getState": "Get the full group state for the worksheet",
      "getLevel": "Get the outline level of a specific row or column",
      "getMaxLevel": "Get the maximum outline level for rows or columns",
      "subtotal": "Apply automatic subtotals",
      "getSettings": "Get the outline display settings",
      "setSettings": "Update outline display settings",
      "showOutlineLevels": "Show outline to a specific level for rows and/or columns"
    },
    "protection (WorksheetProtection)": {
      "isProtected": "Check whether the sheet is currently protected",
      "protect": "Protect the sheet with an optional password and granular permission options",
      "unprotect": "Unprotect the sheet",
      "canEditCell": "Check whether a specific cell can be edited under current protection",
      "canDoStructureOp": "Check whether a structural operation is allowed under current protection",
      "canSort": "Check whether sorting is allowed under current protection",
      "getConfig": "Get the full protection configuration for the sheet",
      "getSelectionMode": "Get the current selection mode when the sheet is protected",
      "setSelectionMode": "Set the selection mode for when the sheet is protected"
    },
    "print (WorksheetPrint)": {
      "getSettings": "Get the current print settings for the sheet",
      "setSettings": "Update print settings",
      "getArea": "Get the current print area as an A1-notation range string",
      "setArea": "Set the print area to the specified A1-notation range",
      "clearArea": "Clear the print area so the entire sheet prints.",
      "addPageBreak": "Add a manual page break at the specified position",
      "removePageBreak": "Remove a manual page break at the specified position",
      "getPageBreaks": "Get all manual page breaks in the sheet",
      "clearPageBreaks": "Remove all manual page breaks from the sheet.",
      "setPrintTitleRows": "Set the rows to repeat at the top of each printed page (print titles)",
      "setPrintTitleColumns": "Set the columns to repeat at the left of each printed page (print titles)",
      "getPrintTitleRows": "Get the rows configured to repeat at the top of each printed page",
      "getPrintTitleColumns": "Get the columns configured to repeat at the left of each printed page",
      "clearPrintTitles": "Clear all print titles (both repeat rows and repeat columns)",
      "setPrintMargins": "Set page margins with unit conversion",
      "getCellAfterBreak": "Get the cell position immediately after a page break",
      "getHeaderFooterImages": "Get all header/footer images for this sheet",
      "setHeaderFooterImage": "Set or replace a header/footer image at the specified position",
      "removeHeaderFooterImage": "Remove the header/footer image at the specified position"
    },
    "settings (WorksheetSettings)": {
      "get": "Get all sheet settings",
      "set": "Set an individual sheet setting by key",
      "getCustomLists": "Get the workbook-level custom sort lists",
      "setCustomLists": "Replace all user-defined custom sort lists",
      "getStandardHeight": "Get the standard (default) row height in pixels",
      "getStandardWidth": "Get the standard (default) column width in pixels",
      "setStandardWidth": "Set the standard (default) column width in pixels"
    },
    "bindings (WorksheetBindings)": {
      "list": "List all data bindings on the sheet",
      "create": "Create a new data binding on the sheet",
      "remove": "Remove a data binding by ID",
      "getProjectionRange": "Get the spill range for a projected (dynamic array) cell",
      "getProjectionSource": "Get the source cell of a projected value",
      "isProjectedPosition": "Check whether a cell position is a projected (spilled) value",
      "getViewportProjectionData": "Get all projection data overlapping a viewport range (batch query)"
    },
    "names (WorksheetNames)": {
      "add": "Add a named range scoped to this sheet",
      "get": "Get a named range by name, scoped to this sheet",
      "getRange": "Get the range reference for a named range scoped to this sheet",
      "remove": "Remove a named range scoped to this sheet",
      "update": "Update a named range scoped to this sheet",
      "list": "List all named ranges scoped to this sheet"
    },
    "styles (WorksheetStyles)": {
      "applyStyle": "Apply a named style to a cell",
      "applyStyleToRange": "Apply a named style to a range",
      "getStyle": "Get the name of the named style that matches a cell's format (best-effort)"
    }
  }
}