/** * Phase 6 widget appearance builders. * * Extracted from `pdf-renderer.ts` during M4 — this module owns * everything required to materialize PDF AcroForm widget appearance * streams (the `/AP /N` content), plus the "flattened" path that * inlines the same appearance into the page graphics for callers * that opt into `flattenForms`. The renderer still owns object * numbering (via `RenderContext`) and stitching widget objects into * the page tree; this module is pure command-stream construction. */ import { type PdfEmbeddedFontInput } from "../font-embedding.js"; import { type PreparedPdfaState } from "../pdf-graphics-ops.js"; import { PDFDictionary, PDFRef, PDFStream } from "../pdf-objects.js"; import type { PdfColor } from "../phase4-types.js"; import type { PdfCheckboxWidgetSpec, PdfDropdownWidgetSpec, PdfPageAnnotationSpec, PdfRadioWidgetSpec, PdfRenderedPage, PdfSignatureWidgetSpec, PdfTextFieldWidgetSpec, PdfWidgetAnnotationSpec } from "../pdf-renderer.js"; export declare function parseFormColor(value: string | undefined): PdfColor | undefined; export declare function buildWidgetAppearanceStream(widget: PdfWidgetAnnotationSpec, fontRef: PDFRef, pdfa: PreparedPdfaState | undefined): PDFStream; export declare function buildCheckboxStateAppearance(width: number, height: number, checked: boolean, fontColor: string | undefined, pdfa: PreparedPdfaState | undefined): PDFStream; export declare function buildRadioStateAppearance(width: number, height: number, checked: boolean, fontColor: string | undefined, fontRef: PDFRef | undefined, pdfa: PreparedPdfaState | undefined): PDFStream; export declare function buildTextFieldFlags(widget: Pick): number; export declare function buildChoiceFieldFlags(widget: Pick): number; export declare function buildCheckboxFlags(widget: Pick): number; export declare function buildRadioFieldFlags(widget: Pick): number; export declare function isWidgetAnnotation(annotation: PdfPageAnnotationSpec): annotation is PdfWidgetAnnotationSpec; export declare function isInteractiveWidgetAnnotation(annotation: PdfPageAnnotationSpec): annotation is Exclude | PdfSignatureWidgetSpec; export declare function buildJavaScriptAction(script: string | undefined): PDFDictionary | null; export declare function appendFlattenedWidgetAppearance(page: PdfRenderedPage, widget: PdfWidgetAnnotationSpec, pdfaDefaultFont: PdfEmbeddedFontInput | undefined): void; export declare function normalizeInteractivePages(pages: PdfRenderedPage[], flattenForms: boolean | undefined, pdfaDefaultFont: PdfEmbeddedFontInput | undefined): PdfRenderedPage[]; //# sourceMappingURL=phase6-widgets.d.ts.map