import * as react from 'react'; import { CSSProperties } from 'react'; import { PDFPageProxy, PDFDocumentProxy as PDFDocumentProxy$1 } from 'pdfjs-dist'; import * as pdfjs_dist_types_src_display_api from 'pdfjs-dist/types/src/display/api'; import { PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api'; interface Props$1 { page: PDFPageProxy | null; scale?: number; className?: string; style?: CSSProperties; } /** * Renders a single PDF page onto a canvas. * - Fully customizable via `style`, `className`, and `ref`. * - `ref` gives access to the canvas DOM node. */ declare const PDFPageCanvas: react.ForwardRefExoticComponent>; interface Props { pages: PDFPageProxy[]; className?: string; style?: React.CSSProperties; } declare const PDFPagesCanvas: react.ForwardRefExoticComponent>; declare function usePdfDocument(file: File | null): { pdf: PDFDocumentProxy | null; pageNumbers: number[] | null; error: string; loading: boolean; }; declare function usePdfPage(pdf: PDFDocumentProxy$1 | null, pageNumber: number): { page: pdfjs_dist_types_src_display_api.PDFPageProxy | null; }; type PageRange = "all" | { from: number; to: number; }; declare function usePdfPages(pdf: PDFDocumentProxy$1 | null, range?: PageRange): { pages: pdfjs_dist_types_src_display_api.PDFPageProxy[]; loading: boolean; error: string; }; declare function extractTextFromImage(dataUrl: string, lang?: string): Promise; declare function extractTextFromImages(imageDataUrls: string[], lang?: string): Promise; declare const supportedOcrLanguages: readonly [{ readonly code: "afr"; readonly name: "Afrikaans"; }, { readonly code: "amh"; readonly name: "Amharic"; }, { readonly code: "ara"; readonly name: "Arabic"; }, { readonly code: "asm"; readonly name: "Assamese"; }, { readonly code: "aze"; readonly name: "Azerbaijani"; }, { readonly code: "aze_cyrl"; readonly name: "Azerbaijani - Cyrilic"; }, { readonly code: "bel"; readonly name: "Belarusian"; }, { readonly code: "ben"; readonly name: "Bengali"; }, { readonly code: "bod"; readonly name: "Tibetan"; }, { readonly code: "bos"; readonly name: "Bosnian"; }, { readonly code: "bre"; readonly name: "Breton"; }, { readonly code: "bul"; readonly name: "Bulgarian"; }, { readonly code: "cat"; readonly name: "Catalan; Valencian"; }, { readonly code: "ceb"; readonly name: "Cebuano"; }, { readonly code: "ces"; readonly name: "Czech"; }, { readonly code: "chi_sim"; readonly name: "Chinese - Simplified"; }, { readonly code: "chi_tra"; readonly name: "Chinese - Traditional"; }, { readonly code: "chr"; readonly name: "Cherokee"; }, { readonly code: "cos"; readonly name: "Corsican"; }, { readonly code: "cym"; readonly name: "Welsh"; }, { readonly code: "dan"; readonly name: "Danish"; }, { readonly code: "dan_frak"; readonly name: "Danish - Fraktur (contrib)"; }, { readonly code: "deu"; readonly name: "German"; }, { readonly code: "deu_frak"; readonly name: "German - Fraktur (contrib)"; }, { readonly code: "deu_latf"; readonly name: "German (Fraktur Latin)"; }, { readonly code: "dzo"; readonly name: "Dzongkha"; }, { readonly code: "ell"; readonly name: "Greek, Modern (1453-)"; }, { readonly code: "eng"; readonly name: "English"; }, { readonly code: "enm"; readonly name: "English, Middle (1100-1500)"; }, { readonly code: "epo"; readonly name: "Esperanto"; }, { readonly code: "equ"; readonly name: "Math / equation detection module"; }, { readonly code: "est"; readonly name: "Estonian"; }, { readonly code: "eus"; readonly name: "Basque"; }, { readonly code: "fao"; readonly name: "Faroese"; }, { readonly code: "fas"; readonly name: "Persian"; }, { readonly code: "fil"; readonly name: "Filipino (old - Tagalog)"; }, { readonly code: "fin"; readonly name: "Finnish"; }, { readonly code: "fra"; readonly name: "French"; }, { readonly code: "frk"; readonly name: "German - Fraktur (now deu_latf)"; }, { readonly code: "frm"; readonly name: "French, Middle (ca.1400-1600)"; }, { readonly code: "fry"; readonly name: "Western Frisian"; }, { readonly code: "gla"; readonly name: "Scottish Gaelic"; }, { readonly code: "gle"; readonly name: "Irish"; }, { readonly code: "glg"; readonly name: "Galician"; }, { readonly code: "grc"; readonly name: "Greek, Ancient (to 1453) (contrib)"; }, { readonly code: "guj"; readonly name: "Gujarati"; }, { readonly code: "hat"; readonly name: "Haitian; Haitian Creole"; }, { readonly code: "heb"; readonly name: "Hebrew"; }, { readonly code: "hin"; readonly name: "Hindi"; }, { readonly code: "hrv"; readonly name: "Croatian"; }, { readonly code: "hun"; readonly name: "Hungarian"; }, { readonly code: "hye"; readonly name: "Armenian"; }, { readonly code: "iku"; readonly name: "Inuktitut"; }, { readonly code: "ind"; readonly name: "Indonesian"; }, { readonly code: "isl"; readonly name: "Icelandic"; }, { readonly code: "ita"; readonly name: "Italian"; }, { readonly code: "ita_old"; readonly name: "Italian - Old"; }, { readonly code: "jav"; readonly name: "Javanese"; }, { readonly code: "jpn"; readonly name: "Japanese"; }, { readonly code: "kan"; readonly name: "Kannada"; }, { readonly code: "kat"; readonly name: "Georgian"; }, { readonly code: "kat_old"; readonly name: "Georgian - Old"; }, { readonly code: "kaz"; readonly name: "Kazakh"; }, { readonly code: "khm"; readonly name: "Central Khmer"; }, { readonly code: "kir"; readonly name: "Kirghiz; Kyrgyz"; }, { readonly code: "kmr"; readonly name: "Kurmanji (Kurdish - Latin Script)"; }, { readonly code: "kor"; readonly name: "Korean"; }, { readonly code: "kor_vert"; readonly name: "Korean (vertical)"; }, { readonly code: "kur"; readonly name: "Kurdish (Arabic Script)"; }, { readonly code: "lao"; readonly name: "Lao"; }, { readonly code: "lat"; readonly name: "Latin"; }, { readonly code: "lav"; readonly name: "Latvian"; }, { readonly code: "lit"; readonly name: "Lithuanian"; }, { readonly code: "ltz"; readonly name: "Luxembourgish"; }, { readonly code: "mal"; readonly name: "Malayalam"; }, { readonly code: "mar"; readonly name: "Marathi"; }, { readonly code: "mkd"; readonly name: "Macedonian"; }, { readonly code: "mlt"; readonly name: "Maltese"; }, { readonly code: "mon"; readonly name: "Mongolian"; }, { readonly code: "mri"; readonly name: "Maori"; }, { readonly code: "msa"; readonly name: "Malay"; }, { readonly code: "mya"; readonly name: "Burmese"; }, { readonly code: "nep"; readonly name: "Nepali"; }, { readonly code: "nld"; readonly name: "Dutch; Flemish"; }, { readonly code: "nor"; readonly name: "Norwegian"; }, { readonly code: "oci"; readonly name: "Occitan (post 1500)"; }, { readonly code: "ori"; readonly name: "Oriya"; }, { readonly code: "osd"; readonly name: "Orientation and script detection module"; }, { readonly code: "pan"; readonly name: "Panjabi; Punjabi"; }, { readonly code: "pol"; readonly name: "Polish"; }, { readonly code: "por"; readonly name: "Portuguese"; }, { readonly code: "pus"; readonly name: "Pushto; Pashto"; }, { readonly code: "que"; readonly name: "Quechua"; }, { readonly code: "ron"; readonly name: "Romanian; Moldavian; Moldovan"; }, { readonly code: "rus"; readonly name: "Russian"; }, { readonly code: "san"; readonly name: "Sanskrit"; }, { readonly code: "sin"; readonly name: "Sinhala; Sinhalese"; }, { readonly code: "slk"; readonly name: "Slovak"; }, { readonly code: "slk_frak"; readonly name: "Slovak - Fraktur (contrib)"; }, { readonly code: "slv"; readonly name: "Slovenian"; }, { readonly code: "snd"; readonly name: "Sindhi"; }, { readonly code: "spa"; readonly name: "Spanish; Castilian"; }, { readonly code: "spa_old"; readonly name: "Spanish; Castilian - Old"; }, { readonly code: "sqi"; readonly name: "Albanian"; }, { readonly code: "srp"; readonly name: "Serbian"; }, { readonly code: "srp_latn"; readonly name: "Serbian - Latin"; }, { readonly code: "sun"; readonly name: "Sundanese"; }, { readonly code: "swa"; readonly name: "Swahili"; }, { readonly code: "swe"; readonly name: "Swedish"; }, { readonly code: "syr"; readonly name: "Syriac"; }, { readonly code: "tam"; readonly name: "Tamil"; }, { readonly code: "tat"; readonly name: "Tatar"; }, { readonly code: "tel"; readonly name: "Telugu"; }, { readonly code: "tgk"; readonly name: "Tajik"; }, { readonly code: "tgl"; readonly name: "Tagalog (new - Filipino)"; }, { readonly code: "tha"; readonly name: "Thai"; }, { readonly code: "tir"; readonly name: "Tigrinya"; }, { readonly code: "ton"; readonly name: "Tonga"; }, { readonly code: "tur"; readonly name: "Turkish"; }, { readonly code: "uig"; readonly name: "Uighur; Uyghur"; }, { readonly code: "ukr"; readonly name: "Ukrainian"; }, { readonly code: "urd"; readonly name: "Urdu"; }, { readonly code: "uzb"; readonly name: "Uzbek"; }, { readonly code: "uzb_cyrl"; readonly name: "Uzbek - Cyrilic"; }, { readonly code: "vie"; readonly name: "Vietnamese"; }, { readonly code: "yid"; readonly name: "Yiddish"; }, { readonly code: "yor"; readonly name: "Yoruba"; }]; type OcrLanguageCode = (typeof supportedOcrLanguages)[number]["code"]; /** * Extract text from multiple PDF pages with optional per-page progress tracking */ declare function extractTextFromMultiPages(pages: PDFPageProxy[], lang?: OcrLanguageCode, onPageProgress?: (pageIndex: number, progress: number) => void): Promise; /** * Extract text from a single PDF page with optional progress tracking */ declare function extractTextFromSinglePage(page: PDFPageProxy, lang?: OcrLanguageCode, onProgress?: (progress: number) => void): Promise; declare function renderPageToImage(page: PDFPageProxy, scale?: number): Promise; declare function renderPagesToImages(pages: PDFPageProxy[], scale?: number): Promise; declare function loadPdf(file: File): Promise; export { type OcrLanguageCode, PDFPageCanvas, PDFPagesCanvas, extractTextFromImage, extractTextFromImages, extractTextFromMultiPages, extractTextFromSinglePage, loadPdf, renderPageToImage, renderPagesToImages, supportedOcrLanguages, usePdfDocument, usePdfPage, usePdfPages };