import type { PcktCodeBlock, PcktContent, PcktRenderableBlock, PcktTextBlock } from "./types.js"; export declare function asTextBlock(value: unknown): PcktTextBlock | null; /** * True when the content's first block is a heading whose text exactly matches * the document description. pckt authors often open a post with the description * as an H1; in that case the reader drops the heading from the body (it would * duplicate the header) and instead shows the description as the header dek. * Both the body renderer and the dek-visibility check use this predicate so * they stay in agreement. */ export declare function pcktLeadingHeadingMatchesDescription(content: unknown, description: string | null | undefined): boolean; /** Every renderable block in document order. */ export declare function pcktBlocks(content: unknown): Array; /** Plaintext lines contributed by a single pckt block (for reading-time ingest). */ export declare function plaintextLinesFromBlock(block: PcktRenderableBlock): Array; /** Normalize pckt code block language (may live in `attrs.language`). */ export declare function pcktCodeLanguage(block: PcktCodeBlock): string | undefined; export declare function asPcktContent(content: unknown): PcktContent | null; //# sourceMappingURL=blocks.d.ts.map