import { ObjectManager } from "../../ObjectManager"; import { FileSpecification } from "../FileSpecification"; import { MarkupAnnotation, type MarkupAnnotationProperties } from "./MarkupAnnotation"; import { type FileSpecificationProperties } from "../FileSpecification"; /** * Specifies the type of attachment icon to use. */ export type FileAttachmentAnnotationIcon = "Paperclip" | "PushPin" | "Tag" | "Graph"; /** * Defines properties of an annotation what represents a reference to a file which typically is embedded in the PDF file. * @see {@link FileAttachmentAnnotation} */ export type FileAttachmentAnnotationProperties = MarkupAnnotationProperties & { type: "file"; /** * The type of the icon used to display the annotation. */ icon?: FileAttachmentAnnotationIcon; /** * The {@link FileSpecification} or {@link FileSpecificationProperties} object that defines the referenced file. */ file?: FileSpecification | FileSpecificationProperties; }; /** * Represents a reference to a file which typically is embedded in the PDF file. */ export declare class FileAttachmentAnnotation extends MarkupAnnotation { /** * Creates a new {@link FileAttachmentAnnotation}. * * @param om - {@link ObjectManager} that controls the lifetime of the {@link FileAttachmentAnnotation}. */ constructor(om: ObjectManager); /** * Creates a new {@link FileAttachmentAnnotation}. */ constructor(); /** * Gets or sets the type of the icon used to display the annotation, * the standard icons: "Paperclip", "PushPin", "Tag", "Graph". */ get icon(): string | null; /** * Gets or sets the type of the icon used to display the annotation, * the standard icons: "Paperclip", "PushPin", "Tag", "Graph". */ set icon(value: FileAttachmentAnnotationIcon); /** * Gets or sets the {@link FileSpecification} object that defines the referenced file. */ get file(): FileSpecification | null; /** * Gets or sets the {@link FileSpecification} object that defines the referenced file. */ set file(value: FileSpecification | FileSpecificationProperties | null); }