import { BlockNoteExtension } from "@blocknote/core"; /** * An "example table" is a data table that belongs to a testomat.io `` * marker: it sits between that marker and the start of the next test — i.e. the next * `testMeta` block (`` / ``) — or the end of the * document. Such tables are painted with a gray cell background so they read as the * marker's data table. * * Given the block content-type names in document order, returns a boolean[] where * entry `i` is `true` iff a `"table"` at index `i` falls inside an example region. * `exampleMarker` opens a region; `testMeta` closes it; everything else (headings, * paragraphs, …) leaves the region unchanged. * * Pure and DOM-free so it can be unit-tested directly. */ export declare function markExampleTables(types: readonly string[]): boolean[]; /** * Example tables only occur in a *suite* document — one that opens with a * `` comment (a `testMeta` block whose `metaKind` is `"suite"`). * Gating on the first block lets the plugin skip the whole scan for any other * document (a lone test, plain notes, …) instead of walking it on every change. * * Pure so it can be unit-tested directly. */ export declare function isSuiteDocument(firstBlockType: string | undefined, firstBlockMetaKind: string | undefined): boolean; /** * BlockNote extension that grays the cells of the table following an * `` marker (bounded by the next test/suite comment or the end of * the document). * * Editor extensions are supplied at editor-creation time and cannot be carried by * the schema, so consumers must add this to their `useCreateBlockNote` call: * * ```ts * useCreateBlockNote({ * schema: customSchema, * extensions: [exampleTableHighlightExtension()], * }); * ``` */ export declare class ExampleTableHighlightExtension extends BlockNoteExtension { static key(): string; constructor(); } /** Factory for the `extensions` option of `useCreateBlockNote`. */ export declare const exampleTableHighlightExtension: () => ExampleTableHighlightExtension;