/// declare module 'googlephotos'; declare module 'cors'; declare module 'image-data-uri'; declare module 'md5-file'; declare module 'jpeg-autorotate'; declare module 'webrtc-adapter'; declare module 'bezier-curve'; declare module 'fit-curve'; declare module 'iink-js'; declare module 'pdfjs-dist/web/pdf_viewer'; declare module 'pdfjs-dist/build/pdf.mjs'; declare module 'react-jsx-parser'; declare module 'type_decls.d'; declare module 'standard-http-error'; declare module '@react-pdf/renderer' { import * as React from 'react'; namespace ReactPDF { interface Style { [property: string]: unknown; } interface Styles { [key: string]: Style; } type Orientation = 'portrait' | 'landscape'; interface DocumentProps { title?: string; author?: string; subject?: string; keywords?: string; creator?: string; producer?: string; onRender?: () => unknown; } /** * This component represent the PDF document itself. It must be the root * of your tree element structure, and under no circumstances should it be * used as children of another react-pdf component. In addition, it should * only have childs of type . */ class Document extends React.Component {} interface NodeProps { style?: Style | Style[]; /** * Render component in all wrapped pages. * @see https://react-pdf.org/advanced#fixed-components */ fixed?: boolean; /** * Force the wrapping algorithm to start a new page when rendering the * element. * @see https://react-pdf.org/advanced#page-breaks */ break?: boolean; } interface PageProps extends NodeProps { /** * Enable page wrapping for this page. * @see https://react-pdf.org/components#page-wrapping */ wrap?: boolean; debug?: boolean; size?: string | [number, number] | { width: number; height: number }; orientation?: Orientation; ruler?: boolean; rulerSteps?: number; verticalRuler?: boolean; verticalRulerSteps?: number; horizontalRuler?: boolean; horizontalRulerSteps?: number; ref?: Page; } /** * Represents single page inside the PDF document, or a subset of them if * using the wrapping feature. A can contain as many pages as * you want, but ensure not rendering a page inside any component besides * Document. */ class Page extends React.Component {} interface ViewProps extends NodeProps { /** * Enable/disable page wrapping for element. * @see https://react-pdf.org/components#page-wrapping */ wrap?: boolean; debug?: boolean; render?: (props: { pageNumber: number }) => React.ReactNode; children?: React.ReactNode; } /** * The most fundamental component for building a UI and is designed to be * nested inside other views and can have 0 to many children. */ class View extends React.Component {} interface ImageProps extends NodeProps { debug?: boolean; src: string | { data: Buffer; format: 'png' | 'jpg' }; cache?: boolean; } /** * A React component for displaying network or local (Node only) JPG or * PNG images, as well as base64 encoded image strings. */ class Image extends React.Component {} interface TextProps extends NodeProps { /** * Enable/disable page wrapping for element. * @see https://react-pdf.org/components#page-wrapping */ wrap?: boolean; debug?: boolean; render?: (props: { pageNumber: number; totalPages: number }) => React.ReactNode; children?: React.ReactNode; /** * How much hyphenated breaks should be avoided. */ hyphenationCallback?: number; } /** * A React component for displaying text. Text supports nesting of other * Text or Link components to create inline styling. */ class Text extends React.Component {} interface LinkProps extends NodeProps { /** * Enable/disable page wrapping for element. * @see https://react-pdf.org/components#page-wrapping */ wrap?: boolean; debug?: boolean; src: string; children?: React.ReactNode; } /** * A React component for displaying an hyperlink. Link’s can be nested * inside a Text component, or being inside any other valid primitive. */ class Link extends React.Component {} interface NoteProps extends NodeProps { children: string; } class Note extends React.Component {} interface BlobProviderParams { blob: Blob | null; url: string | null; loading: boolean; error: Error | null; } interface BlobProviderProps { document: React.ReactElement; children: (params: BlobProviderParams) => React.ReactNode; } /** * Easy and declarative way of getting document's blob data without * showing it on screen. * @see https://react-pdf.org/advanced#on-the-fly-rendering * @platform web */ class BlobProvider extends React.Component {} interface PDFViewerProps { width?: number; height?: number; style?: Style | Style[]; className?: string; children?: React.ReactElement; } /** * Iframe PDF viewer for client-side generated documents. * @platform web */ class PDFViewer extends React.Component {} interface PDFDownloadLinkProps { document: React.ReactElement; fileName?: string; style?: Style | Style[]; className?: string; children?: React.ReactNode | ((params: BlobProviderParams) => React.ReactNode); } /** * Anchor tag to enable generate and download PDF documents on the fly. * @see https://react-pdf.org/advanced#on-the-fly-rendering * @platform web */ class PDFDownloadLink extends React.Component {} interface EmojiSource { url: string; format: string; } interface RegisteredFont { src: string; loaded: boolean; loading: boolean; data: unknown; [key: string]: unknown; } type HyphenationCallback = (words: string[], glyphString: { [key: string]: unknown }) => string[]; const Font: { register: (src: string, options: { family: string; [key: string]: unknown }) => void; getEmojiSource: () => EmojiSource; getRegisteredFonts: () => string[]; registerEmojiSource: (emojiSource: EmojiSource) => void; registerHyphenationCallback: (hyphenationCallback: HyphenationCallback) => void; getHyphenationCallback: () => HyphenationCallback; getFont: (fontFamily: string) => RegisteredFont | undefined; load: (fontFamily: string, document: React.ReactElement) => Promise; clear: () => void; reset: () => void; }; const StyleSheet: { hairlineWidth: number; create: (styles: TStyles) => TStyles; resolve: ( style: Style, container: { width: number; height: number; orientation: Orientation; } ) => Style; flatten: (...styles: Style[]) => Style; absoluteFillObject: { position: 'absolute'; left: 0; right: 0; top: 0; bottom: 0; }; }; const version: unknown; const PDFRenderer: unknown; const createInstance: ( element: { type: string; props: { [key: string]: unknown }; }, root?: unknown ) => unknown; const pdf: (document: React.ReactElement) => { isDirty: () => boolean; updateContainer: (document: React.ReactElement) => void; toBuffer: () => NodeJS.ReadableStream; toBlob: () => Blob; toString: () => string; }; const renderToStream: (document: React.ReactElement) => NodeJS.ReadableStream; const renderToFile: (document: React.ReactElement, filePath: string, callback?: (output: NodeJS.ReadableStream, filePath: string) => unknown) => Promise; const render: typeof renderToFile; } const Document: typeof ReactPDF.Document; const Page: typeof ReactPDF.Page; const View: typeof ReactPDF.View; const Image: typeof ReactPDF.Image; const Text: typeof ReactPDF.Text; const Link: typeof ReactPDF.Link; const Note: typeof ReactPDF.Note; const Font: typeof ReactPDF.Font; const StyleSheet: typeof ReactPDF.StyleSheet; const createInstance: typeof ReactPDF.createInstance; const PDFRenderer: typeof ReactPDF.PDFRenderer; const version: typeof ReactPDF.version; const pdf: typeof ReactPDF.pdf; export default ReactPDF; export { Document, Page, View, Image, Text, Link, Note, Font, StyleSheet, createInstance, PDFRenderer, version, pdf }; }