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' },
* });
*
*
*
*
*
*
* Hello World
* This is a PDF document.
*
*
*
*
*
* ```
*/
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 };