export declare const apiGuidanceCatalog: readonly [{
    readonly id: "officejs.bootstrap";
    readonly dialect: "officejs";
    readonly category: "bootstrap";
    readonly matchers: readonly [{
        readonly id: "officejs.excel-run";
        readonly kind: "call";
        readonly symbol: "Excel.run";
        readonly confidence: 0.99;
    }, {
        readonly id: "officejs.office-on-ready";
        readonly kind: "call";
        readonly symbol: "Office.onReady";
        readonly confidence: 0.94;
    }, {
        readonly id: "officejs.excel-create-workbook";
        readonly kind: "call";
        readonly symbol: "Excel.createWorkbook";
        readonly confidence: 0.96;
    }];
    readonly message: "This looks like Microsoft Office JavaScript spreadsheet API code. You are writing Mog code.";
    readonly suggestion: "Do not wrap Mog code in Excel.run or Office.onReady. Use the injected `wb` / `ws` objects, or create a workbook with `createWorkbook(...)` at the SDK boundary.";
    readonly mogReplacements: readonly [{
        readonly path: "wb.activeSheet";
        readonly snippet: "const ws = wb.activeSheet;";
    }, {
        readonly path: "createWorkbook";
        readonly snippet: "import { createWorkbook } from '@mog-sdk/sdk';\nconst wb = await createWorkbook();";
        readonly note: "Root SDK factory, not a workbook member path.";
    }];
    readonly confidence: 0.99;
    readonly blocking: true;
}, {
    readonly id: "officejs.host-globals";
    readonly dialect: "officejs";
    readonly category: "host";
    readonly matchers: readonly [{
        readonly id: "officejs.office-context";
        readonly kind: "member-chain";
        readonly symbol: "Office.context";
    }, {
        readonly id: "officejs.office-document";
        readonly kind: "member-chain";
        readonly symbol: "Office.context.document";
    }, {
        readonly id: "officejs.display-dialog";
        readonly kind: "member-chain";
        readonly symbol: "Office.context.ui.displayDialogAsync";
    }, {
        readonly id: "officejs.storage";
        readonly kind: "member-chain";
        readonly symbol: "OfficeRuntime.storage";
    }];
    readonly message: "Office host globals are not available in Mog code.";
    readonly suggestion: "Use the Mog SDK workbook object and host integration outside the code execution sandbox.";
    readonly mogReplacements: readonly [{
        readonly path: "wb.save";
        readonly snippet: "await wb.save(path);";
    }, {
        readonly path: "wb.toXlsx";
        readonly snippet: "const bytes = await wb.toXlsx();";
    }];
    readonly confidence: 0.96;
    readonly blocking: true;
}, {
    readonly id: "officejs.sync-load";
    readonly dialect: "officejs";
    readonly category: "sync-load";
    readonly matchers: readonly [{
        readonly id: "officejs.context-sync";
        readonly kind: "call";
        readonly symbol: "context.sync";
        readonly confidence: 0.98;
    }, {
        readonly id: "officejs.proxy-load";
        readonly kind: "call";
        readonly symbol: ".load";
        readonly confidence: 0.92;
    }, {
        readonly id: "officejs.null-object";
        readonly kind: "member-chain";
        readonly symbol: ".isNullObject";
    }, {
        readonly id: "officejs.tracked-objects";
        readonly kind: "member-chain";
        readonly symbol: "trackedObjects";
    }, {
        readonly id: "officejs.load-then-sync";
        readonly kind: "compound";
        readonly symbols: readonly [".load", "context.sync"];
        readonly confidence: 0.99;
        readonly blocking: true;
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet proxy load/sync code is not part of the Mog API.";
    readonly suggestion: "Mog APIs return real values directly. Await the Mog method that reads or writes the data you need.";
    readonly mogReplacements: readonly [{
        readonly path: "ws.getValues";
        readonly snippet: "const values = await ws.getValues(\"A1:B2\");";
    }, {
        readonly path: "ws.getRange";
        readonly snippet: "const range = await ws.getRange(\"A1:B2\");";
    }, {
        readonly path: "wb.findSheet";
        readonly snippet: "const ws = await wb.findSheet(name);";
    }];
    readonly confidence: 0.96;
    readonly blocking: true;
}, {
    readonly id: "officejs.active-sheet";
    readonly dialect: "officejs";
    readonly category: "worksheet";
    readonly matchers: readonly [{
        readonly id: "officejs.context-workbook-active-worksheet";
        readonly kind: "call";
        readonly symbol: "context.workbook.worksheets.getActiveWorksheet";
        readonly confidence: 0.98;
    }, {
        readonly id: "officejs.workbook-active-worksheet";
        readonly kind: "call";
        readonly symbol: "workbook.worksheets.getActiveWorksheet";
        readonly confidence: 0.94;
    }, {
        readonly id: "officejs.worksheets-active-worksheet";
        readonly kind: "call";
        readonly symbol: "worksheets.getActiveWorksheet";
        readonly confidence: 0.94;
    }];
    readonly message: "This active worksheet access comes from the Microsoft Office JavaScript spreadsheet API, not Mog.";
    readonly suggestion: "Use `const ws = wb.activeSheet;` for the active worksheet.";
    readonly mogReplacements: readonly [{
        readonly path: "wb.activeSheet";
        readonly snippet: "const ws = wb.activeSheet;";
    }];
    readonly confidence: 0.98;
    readonly blocking: true;
}, {
    readonly id: "officejs.sheet-lookup";
    readonly dialect: "officejs";
    readonly category: "worksheet";
    readonly matchers: readonly [{
        readonly id: "officejs.worksheets-get-item";
        readonly kind: "member-chain";
        readonly symbol: "worksheets.getItem";
    }, {
        readonly id: "officejs.worksheets-get-item-or-null";
        readonly kind: "member-chain";
        readonly symbol: "worksheets.getItemOrNullObject";
    }, {
        readonly id: "officejs.worksheets-items";
        readonly kind: "member-chain";
        readonly symbol: "worksheets.items";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet worksheet collection calls are not Mog worksheet access.";
    readonly suggestion: "Use `await wb.getSheet(name)` when the sheet must exist, `await wb.findSheet(name)` for nullable lookup, or `wb.sheetNames` / `await wb.getSheets()` for listing.";
    readonly mogReplacements: readonly [{
        readonly path: "wb.getSheet";
        readonly snippet: "const ws = await wb.getSheet(name);";
    }, {
        readonly path: "wb.findSheet";
        readonly snippet: "const ws = await wb.findSheet(name);";
    }, {
        readonly path: "wb.sheetNames";
        readonly snippet: "const names = wb.sheetNames;";
    }, {
        readonly path: "wb.getSheets";
        readonly snippet: "const sheets = await wb.getSheets();";
    }];
    readonly confidence: 0.95;
    readonly blocking: true;
}, {
    readonly id: "officejs.range-write";
    readonly dialect: "officejs";
    readonly category: "range";
    readonly matchers: readonly [{
        readonly id: "officejs.range-values-assignment";
        readonly kind: "assignment";
        readonly symbol: ".values";
    }, {
        readonly id: "officejs.range-formulas-assignment";
        readonly kind: "assignment";
        readonly symbol: ".formulas";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet range proxy assignment does not write data in Mog.";
    readonly suggestion: "Use `await ws.setRange(range, values)` for range writes.";
    readonly mogReplacements: readonly [{
        readonly path: "ws.setRange";
        readonly snippet: "await ws.setRange(\"A1:B2\", values);";
    }];
    readonly confidence: 0.97;
    readonly blocking: true;
}, {
    readonly id: "officejs.range-read";
    readonly dialect: "officejs";
    readonly category: "range";
    readonly matchers: readonly [{
        readonly id: "officejs.load-sync-range-values";
        readonly kind: "compound";
        readonly symbols: readonly [".load", "context.sync", ".values"];
        readonly confidence: 0.98;
        readonly blocking: true;
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet range proxy reads require load/sync; Mog reads return values directly.";
    readonly suggestion: "Use `await ws.getValues(range)` or `await ws.getRange(range)`.";
    readonly mogReplacements: readonly [{
        readonly path: "ws.getValues";
        readonly snippet: "const values = await ws.getValues(\"A1:B2\");";
    }, {
        readonly path: "ws.getRange";
        readonly snippet: "const range = await ws.getRange(\"A1:B2\");";
    }];
    readonly confidence: 0.9;
    readonly blocking: true;
}, {
    readonly id: "officejs.range-navigation";
    readonly dialect: "officejs";
    readonly category: "range";
    readonly matchers: readonly [{
        readonly id: "officejs.get-used-range-null-object";
        readonly kind: "call";
        readonly symbol: "getUsedRangeOrNullObject";
    }, {
        readonly id: "officejs.get-range-edge";
        readonly kind: "call";
        readonly symbol: "getRangeEdge";
    }, {
        readonly id: "officejs.get-surrounding-region";
        readonly kind: "call";
        readonly symbol: "getSurroundingRegion";
    }, {
        readonly id: "officejs.get-resized-range";
        readonly kind: "call";
        readonly symbol: "getResizedRange";
    }, {
        readonly id: "officejs.get-offset-range";
        readonly kind: "call";
        readonly symbol: "getOffsetRange";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet range navigation helpers do not map one-for-one to Mog APIs.";
    readonly suggestion: "Choose the Mog range API that matches the intent: used range, current region, data edge, or address/index conversion.";
    readonly mogReplacements: readonly [{
        readonly path: "ws.getUsedRange";
        readonly snippet: "const used = await ws.getUsedRange();";
    }, {
        readonly path: "ws.getCurrentRegion";
        readonly snippet: "const region = await ws.getCurrentRegion(0, 0);";
    }, {
        readonly path: "ws.findDataEdge";
        readonly snippet: "const edge = await ws.findDataEdge(0, 0, \"down\");";
    }, {
        readonly path: "wb.addressToIndex";
        readonly snippet: "const { row, col } = wb.addressToIndex(\"A1\");";
    }];
    readonly confidence: 0.9;
    readonly blocking: true;
}, {
    readonly id: "officejs.formatting";
    readonly dialect: "officejs";
    readonly category: "formatting";
    readonly matchers: readonly [{
        readonly id: "officejs.fill-color";
        readonly kind: "member-chain";
        readonly symbol: ".format.fill.color";
    }, {
        readonly id: "officejs.font-bold";
        readonly kind: "member-chain";
        readonly symbol: ".format.font.bold";
    }, {
        readonly id: "officejs.number-format";
        readonly kind: "member-chain";
        readonly symbol: ".numberFormat";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet range formatting properties are not Mog formatting calls.";
    readonly suggestion: "Use the worksheet formats API with an explicit range and format object.";
    readonly mogReplacements: readonly [{
        readonly path: "ws.formats.setRange";
        readonly snippet: "await ws.formats.setRange(\"A1:B2\", { backgroundColor: \"#fff\" });";
    }, {
        readonly path: "ws.formats.setCellProperties";
        readonly snippet: "await ws.formats.setCellProperties([{ row: 0, col: 0, format: { bold: true } }]);";
        readonly note: "Use cell properties for per-cell format matrices.";
    }, {
        readonly path: "ws.formats.setNumberFormatLocal";
        readonly snippet: "await ws.formats.setNumberFormatLocal(\"A1:B2\", \"0.00\", \"en-US\");";
    }];
    readonly confidence: 0.96;
    readonly blocking: true;
}, {
    readonly id: "officejs.tables";
    readonly dialect: "officejs";
    readonly category: "tables";
    readonly matchers: readonly [{
        readonly id: "officejs.worksheet-tables-add";
        readonly kind: "call";
        readonly symbol: "worksheet.tables.add";
    }, {
        readonly id: "officejs-sheet-tables-add";
        readonly kind: "call";
        readonly symbol: "sheet.tables.add";
    }, {
        readonly id: "officejs.table-rows-add";
        readonly kind: "call";
        readonly symbol: "table.rows.add";
    }, {
        readonly id: "officejs.table-columns-add";
        readonly kind: "call";
        readonly symbol: "table.columns.add";
    }, {
        readonly id: "officejs.workbook-tables";
        readonly kind: "member-chain";
        readonly symbol: "context.workbook.tables";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet table collection calls use a different table API shape.";
    readonly suggestion: "Use `await ws.tables.add(range, { name, hasHeaders })` and worksheet table row helpers.";
    readonly mogReplacements: readonly [{
        readonly path: "ws.tables.add";
        readonly snippet: "const table = await ws.tables.add(\"A1:C10\", { name, hasHeaders: true });";
    }, {
        readonly path: "ws.tables.addRow";
        readonly snippet: "await ws.tables.addRow(table.name, undefined, values);";
    }, {
        readonly path: "wb.getSheets";
        readonly snippet: "for (const ws of await wb.getSheets()) {\n  // inspect ws.tables\n}";
    }];
    readonly confidence: 0.95;
    readonly blocking: true;
}, {
    readonly id: "officejs.filters-sort";
    readonly dialect: "officejs";
    readonly category: "filters";
    readonly matchers: readonly [{
        readonly id: "officejs.table-sort-apply";
        readonly kind: "call";
        readonly symbol: "table.sort.apply";
    }, {
        readonly id: "officejs-column-filter-values";
        readonly kind: "call";
        readonly symbol: "column.filter.applyValuesFilter";
    }, {
        readonly id: "officejs-worksheet-auto-filter-apply";
        readonly kind: "call";
        readonly symbol: "worksheet.autoFilter.apply";
    }, {
        readonly id: "officejs-sheet-auto-filter-apply";
        readonly kind: "call";
        readonly symbol: "sheet.autoFilter.apply";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet filter and sort calls are not Mog filter APIs.";
    readonly suggestion: "Use worksheet filter APIs or `ws.sortRange(...)` with explicit ranges and criteria.";
    readonly mogReplacements: readonly [{
        readonly path: "ws.filters.add";
        readonly snippet: "await ws.filters.add(\"A1:C10\");";
    }, {
        readonly path: "ws.filters.setColumnFilter";
        readonly snippet: "await ws.filters.setColumnFilter(0, { type: \"value\", values: [\"Widget\"] });";
    }, {
        readonly path: "ws.tables.sort.apply";
        readonly snippet: "await ws.tables.sort.apply(\"Table1\", [{ columnIndex: 0, ascending: true }]);";
    }, {
        readonly path: "ws.sortRange";
        readonly snippet: "await ws.sortRange(\"A1:C10\", { columns: [{ columnIndex: 0, ascending: true }], hasHeaders: true });";
    }];
    readonly confidence: 0.95;
    readonly blocking: true;
}, {
    readonly id: "officejs.names";
    readonly dialect: "officejs";
    readonly category: "names";
    readonly matchers: readonly [{
        readonly id: "officejs-workbook-names-add";
        readonly kind: "member-chain";
        readonly symbol: "context.workbook.names.add";
    }, {
        readonly id: "officejs-workbook-names-get-item";
        readonly kind: "member-chain";
        readonly symbol: "context.workbook.names.getItem";
    }, {
        readonly id: "officejs-named-item-get-range";
        readonly kind: "member-chain";
        readonly symbol: "namedItem.getRange";
    }, {
        readonly id: "officejs-names-items";
        readonly kind: "member-chain";
        readonly symbol: "names.items";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet named item APIs do not exist in Mog.";
    readonly suggestion: "Use the Mog workbook or worksheet names APIs.";
    readonly mogReplacements: readonly [{
        readonly path: "wb.names.add";
        readonly snippet: "await wb.names.add(name, reference);";
    }, {
        readonly path: "wb.names.getRange";
        readonly snippet: "const range = await wb.names.getRange(name);";
    }, {
        readonly path: "wb.names.list";
        readonly snippet: "const names = await wb.names.list();";
    }, {
        readonly path: "ws.names.add";
        readonly snippet: "await ws.names.add(\"LocalName\", \"A1:A10\");";
    }];
    readonly confidence: 0.93;
    readonly blocking: true;
}, {
    readonly id: "officejs.file-io";
    readonly dialect: "officejs";
    readonly category: "file-io";
    readonly matchers: readonly [{
        readonly id: "officejs-document-get-file";
        readonly kind: "member-chain";
        readonly symbol: "Office.context.document.getFileAsync";
    }, {
        readonly id: "officejs-file-slices";
        readonly kind: "member-chain";
        readonly symbol: ".getSliceAsync";
    }, {
        readonly id: "officejs-create-workbook-file";
        readonly kind: "call";
        readonly symbol: "Excel.createWorkbook";
    }];
    readonly message: "Microsoft Office JavaScript spreadsheet document file APIs are host APIs, not Mog file I/O.";
    readonly suggestion: "Use Mog workbook save/export APIs or create workbooks through the SDK.";
    readonly mogReplacements: readonly [{
        readonly path: "wb.save";
        readonly snippet: "await wb.save(path);";
    }, {
        readonly path: "wb.toXlsx";
        readonly snippet: "const bytes = await wb.toXlsx();";
    }, {
        readonly path: "createWorkbook";
        readonly snippet: "const wb = await createWorkbook(sourceOrOptions);";
        readonly note: "Root SDK factory, not a workbook member path.";
    }];
    readonly confidence: 0.96;
    readonly blocking: true;
}];
export declare const documentedRootGuidancePaths: Set<string>;
