/** * `useLensPDF` — React hook that manages all viewer state. * * Returns everything a consumer needs to render a viewer: context * values, fallback adapter, page/zoom/layer/tool state, and * computed canvas dimensions. Pass the return value to * {@link LensPDFProvider} (or spread into ``) and * you're done — no manual context wiring required. * * @public */ import type { PdfFallbackAdapter, ThemeTokens, ViewerServices } from "../plugin/services"; import type { PageInfo } from "../types"; import type { ViewerHostContextValue } from "./index"; /** Options for {@link useLensPDF}. */ export interface UseLensPDFOptions { /** Theme tokens. Merged onto defaults. */ tokens?: Partial; /** Partial wired services — unwired fields auto-filled with no-op defaults. */ services?: Partial; /** Initial zoom percentage. Default 100. */ initialZoom?: number; /** Viewer mode. Default "scroll". */ mode?: "scroll" | "single"; /** Override pdf.js worker URL. Uses CDN default when omitted. */ workerSrc?: string; /** Initial page number (1-indexed). Default 1. */ initialPage?: number; } /** Full viewer state returned by {@link useLensPDF}. */ export interface UseLensPDFReturn { hostValue: ViewerHostContextValue; servicesValue: ViewerServices; fallback: PdfFallbackAdapter | undefined; pageCount: number | null; currentPage: number; setCurrentPage: (n: number) => void; currentPageInfo: PageInfo; pages: PageInfo[]; pageDims: Map; zoom: number; setZoom: (z: number) => void; canvasWidth: number; canvasHeight: number; enabledLayers: Set; toggleLayer: (ocgIndex: number) => void; setAllLayers: (enabled: boolean) => void; hasLayers: boolean; activeTool: "none" | "color-picker" | "measure"; setActiveTool: (t: "none" | "color-picker" | "measure") => void; error: string | null; setError: (e: string | null) => void; } /** * Manages all LensPDF viewer state. Pair with `` * or `` for rendering. * * ```tsx * const viewer = useLensPDF("https://cdn.example.com/proof.pdf"); * return ( * * * * ); * ``` * * @public */ export declare function useLensPDF(pdfUrl: string | undefined, opts?: UseLensPDFOptions): UseLensPDFReturn; //# sourceMappingURL=useLensPDF.d.ts.map