import { Component } from '../../component'; import { PdfContext } from './PdfViewer'; import { PdfBrowserDOMApi } from './pdf-api'; /** * PDF Renderer for GXT * * A PDF document generation renderer inspired by react-pdf. * Allows building PDF documents using a declarative component-based API. * * @example * ```gts * import { PdfViewer, PdfDocument, PdfPage, PdfView, PdfText, StyleSheet } from '@gxt/pdf'; * * const styles = StyleSheet.create({ * page: { padding: 30 }, * title: { fontSize: 24, marginBottom: 10 }, * text: { fontSize: 12, color: '#333' }, * }); * * * ``` */ export type { PageSize, PageOrientation, PageMode, PageLayout, PdfStyle, DocumentProps, PageProps, ViewProps, TextProps, ImageProps, LinkProps, CanvasProps, NoteProps, ImageSource, PdfPaintContext, PdfElementType, PdfElementNode, PdfRenderOptions, PdfContext as PdfContextType, FontData, ImageData, } from './types'; export { PdfBaseElement, PdfDocument, PdfPage, PdfView, PdfText, PdfTextNode, PdfImage, PdfLink, PdfCanvas, PdfNote, PdfComment, PdfFragment, DESTROYED_NODES, isPdfElement, isPdfDocument, isPdfPage, isPdfView, isPdfText, isPdfTextNode, isPdfImage, isPdfLink, isPdfCanvas, isPdfNote, isPdfComment, isPdfFragment, } from './elements'; export { PdfBrowserDOMApi, createPdfApi, } from './pdf-api'; export { PdfViewer, PdfDownloadLink, BlobProvider, PDF_CONTEXT, createPdfContextState, type PdfViewerProps, type PdfDownloadLinkProps, type BlobProviderProps, type PdfContext, } from './PdfViewer'; export { StyleSheet, PageSizes, getPageSize, parseUnit, type StyleSheetStyles, } from './StyleSheet'; /** * Get the PDF context from a component */ export declare function usePdf(ctx: Component): PdfContext | null; /** * Get the PDF API from a component */ export declare function usePdfApi(ctx: Component): PdfBrowserDOMApi | null; export { PdfBrowserDOMApi as PdfApi };