import { isStepsHeading } from "../stepsHeading"; export { isStepsHeading }; export declare const isEmptyParagraph: (b: any) => boolean; /** * Check whether a step or snippet can be inserted at / after the given block. * Returns true only when walking backwards from `referenceBlockId` (skipping * other steps, snippets, and empty paragraphs) reaches a heading whose text * is "steps". */ export declare function canInsertStepOrSnippet(editor: { document: any[]; }, referenceBlockId: string): boolean; /** * Programmatically add an empty step block to the editor. * - If a "Steps" heading exists, inserts after the last step/snippet under it. * - Otherwise, appends a "Steps" heading + empty step at the end. * Returns the inserted step's block ID (for focusing), or null. */ export declare function addStepsBlock(editor: { document: any[]; insertBlocks: (blocks: any[], referenceId: string, placement: "before" | "after") => any[]; }): string | null; /** * Programmatically add an empty snippet block to the editor. * - If a "Steps" heading exists, inserts after the last step/snippet under it. * - Otherwise, appends a "Steps" heading + empty snippet at the end. * Returns the inserted snippet's block ID (for focusing), or null. */ export declare function addSnippetBlock(editor: { document: any[]; insertBlocks: (blocks: any[], referenceId: string, placement: "before" | "after") => any[]; }): string | null; /** * A test step's 1-based position within its group: count back over preceding * steps (blank lines don't break the run) until a non-step block. */ export declare function computeStepNumber(allBlocks: any[], blockId: string): number; /** * True when the document opens with a `` comment — i.e. its * first block is a `testMeta` whose kind is "suite". Such documents list many * tests at once, so their steps are locked to the compact reading view (see * `TestStepBlock`). Shares the gate with the example-table highlighter so both * features agree on what counts as a suite document. */ export declare function isSuiteBlockDocument(blocks: readonly { type?: string; props?: { metaKind?: string; }; }[]): boolean; export declare const stepBlock: { config: { readonly type: "testStep"; readonly content: "none"; readonly propSchema: { readonly stepTitle: { readonly default: ""; }; readonly stepData: { readonly default: ""; }; readonly expectedResult: { readonly default: ""; }; readonly listStyle: { readonly default: "bullet"; }; }; }; implementation: import("@blocknote/core").TiptapBlockImplementation<{ readonly type: "testStep"; readonly content: "none"; readonly propSchema: { readonly stepTitle: { readonly default: ""; }; readonly stepData: { readonly default: ""; }; readonly expectedResult: { readonly default: ""; }; readonly listStyle: { readonly default: "bullet"; }; }; }, any, import("@blocknote/core").InlineContentSchema, import("@blocknote/core").StyleSchema>; };