/** * The body of a comic page (`:::page{…}` … `:::`, #555): a raw-body block * the block parser hands over whole, read here into panels and their * script. `:::strip` (a comic in the text flow) has the same body and will * reuse {@link parseComicFence}. * * ```md * :::page{split="30 [30 | 20 | *] / *" gutter=4mm} * ::panel{art=p1-wide} * caption: Lyon, 1943. * ana: Did you hear that? * ::panel{art=p1-door} * sfx{at="62% 40%" rotate=-8}: KRAK * ::: * ``` */ import type { ComicPageSource } from './types.js'; /** The fence names whose body is a comic. */ export declare const COMIC_FENCES: ReadonlySet; /** Whether a trimmed line opens a comic block (`:::page{…}`). */ export declare function isComicFence(trimmed: string, kind?: 'page' | 'strip'): boolean; /** * Read a comic block whose fence line starts at `fenceStart` in `markdown`. * The body runs to the first bare `:::` line (or to the end of the text, * `closed: false`). Returns undefined when the line at `fenceStart` is not a * comic fence. `end` is the offset just past the closing fence line (or the * text's end), where the next block starts. */ export declare function parseComicFence(markdown: string, fenceStart: number): { source: ComicPageSource; end: number; } | undefined; /** Every offset of a comic source mapped through `toOriginal` (the block * parser reads a text with its index marks taken out, then maps every * offset back to the original). Mutates `source`. */ export declare function remapComicSource(source: ComicPageSource, toOriginal: (offset: number) => number): void; //# sourceMappingURL=page.d.ts.map