import { ColorInput } from '../core/color'; import { TextOptions } from '../core/document-types'; import { PdfDocument } from '../core/pdf-document'; import { GridOptions, GridResult } from '../table/table-types'; export interface FlowOptions { startY?: number; gap?: number; } export declare class FlowComposer { private readonly doc; private cursor; private readonly gap; constructor(doc: PdfDocument, options?: FlowOptions); get y(): number; get remainingHeight(): number; get width(): number; moveTo(y: number): this; advance(amount: number): this; ensureSpace(required: number): this; breakPage(): this; heading(text: string, options?: TextOptions & { spacingAfter?: number; }): this; paragraph(text: string, options?: TextOptions & { spacingAfter?: number; }): this; spacer(height: number): this; rule(options?: { color?: ColorInput; width?: number; spacingAfter?: number; }): this; grid(options: GridOptions & { spacingAfter?: number; }): GridResult; custom(render: (doc: PdfDocument, y: number, width: number) => number, spacingAfter?: number): this; } export declare function createFlow(doc: PdfDocument, options?: FlowOptions): FlowComposer;