Types

LumiPDF ships full TypeScript definitions. Import types alongside components.

Importing types

tsx
import type {
  FileSource,
  DocumentModel,
  PdfViewerProps,
  PdfViewerRef,
  Annotation,
  Theme,
  FitMode,
} from "lumipdf";

Core types

  • FileSource - url | file | buffer | handle
  • DocumentModel - loaded document metadata and page list
  • PdfViewerProps / PdfViewerRef - component surface
  • Annotation and related tool / style types
  • Theme, FitMode, ScrollMode, SidebarView

FileSource

ts
type FileSource =
  | { kind: "file"; file: File }
  | { kind: "handle"; handle: FileSystemFileHandle }
  | { kind: "url"; url: string; filename?: string }
  | { kind: "buffer"; buffer: ArrayBuffer; name: string; type?: string };

Annotation helpers

Use serializeAnnotations and parseAnnotations for validated storage payloads.