import { type FormCheckboxModel } from "../../../form-control.js"; import { BaseXform } from "../base-xform.js"; /** * Unified VML Drawing Xform - Combines Notes (comments) and Form Controls * * Excel uses a single VML file per worksheet that can contain: * - Comment/note shapes (shapetype 202) * - Form control shapes (checkbox shapetype 201, etc.) * * This unified xform renders both into a single VML file. */ /** Header/footer image model for VML rendering. */ interface VmlHeaderImageModel { /** rId referencing the image in the VML drawing's .rels */ imageRelId: string; /** Image width in points */ width?: number; /** Image height in points */ height?: number; } interface VmlDrawingModel { /** Comment/note shapes */ comments?: any[]; /** Form control checkboxes */ formControls?: FormCheckboxModel[]; /** Header/footer image (for watermark in header mode) */ headerImage?: VmlHeaderImageModel; } declare class VmlDrawingXform extends BaseXform { map: { [key: string]: any; }; parser: any; constructor(); get tag(): string; /** * Render VML drawing containing both notes and form controls */ render(xmlStream: any, model?: VmlDrawingModel): void; /** * Render a header/footer image shape for watermark */ private _renderHeaderImageShape; /** * Render a checkbox form control shape */ private _renderCheckboxShape; parseOpen(node: any): boolean; parseText(text: string): void; parseClose(name: string): boolean; private _parsingHeaderImage; private _headerImageRelId?; private _headerImageWidth?; private _headerImageHeight?; static DRAWING_ATTRIBUTES: { "xmlns:v": string; "xmlns:o": string; "xmlns:x": string; }; } export { VmlDrawingXform }; export type { VmlDrawingModel };