@effortlessmotion/pdf-to-md
    Preparing search index...

    Interface AnalysisBlock

    One structural block; wordIndexes links it to its page's words list (blocks -> words only). text is bare content for 'heading' (level separate), else the LITERAL markdown line (decoration included, round-trippable) — a pull-quote is 'paragraph', not a 5th type.

    interface AnalysisBlock {
        level?: number;
        text: string;
        type: "heading" | "paragraph" | "float" | "review";
        wordIndexes: number[];
    }
    Index
    level?: number

    Heading level (integer 1-6); REQUIRED when type is 'heading', FORBIDDEN otherwise — toMarkdown()/toText() validate this fail-fast (throws PdfToMdError/'ANALYSIS_INPUT'), never silently ignored.

    text: string
    type: "heading" | "paragraph" | "float" | "review"
    wordIndexes: number[]