import type * as Extend from "../index"; export interface Block { /** The type of object. In this case, it will always be `"block"`. */ object: "block"; /** A unique identifier for the block, deterministically generated as a hash of the block content. */ id: string; /** The ID of the parent block. For example, for a table cell block, this would be the ID of the parent table block. Only set if this is a child block. */ parentBlockId?: string; /** * The type of block: * * `"text"` - Regular text content * * `"heading"` - Section or document headings * * `"section_heading"` - Subsection headings * * `"table"` - Tabular data with rows and columns * * `"figure"` - Images, charts, diagrams, or logos * * `"table_head"` - Table header cells * * `"table_cell"` - Table body cells * * `"key_value"` - Key-value pairs (e.g., form regions, key-val groups, etc) * * `"page_number"` - Page number indicators * * `"barcode"` - Barcodes and QR codes * * `"formula"` - Mathematical formulas and equations * * `"header"` - Page headers * * `"footer"` - Page footers */ type: Extend.BlockType; /** The textual content of the block formatted based on the target format. */ content: string; /** Additional details specific to the block type. The schema depends on the block type. */ details: Extend.BlockDetails; /** Metadata about the block. */ metadata: Extend.BlockMetadata; /** An array of points defining the polygon that bounds the block. */ polygon: Extend.BlockPolygonItem[]; /** A simplified bounding box for the block. */ boundingBox: Extend.BoundingBox; /** An array of child blocks. For example, a table block may contain table cell blocks as children when `cellBlocksEnabled` is set to true. */ children?: Extend.Block[]; }