import { PrintingSystemProps, PrintingSystemRef } from './types';
/**
 * PrintingSystem Component
 *
 * Este componente se utiliza para renderizar documentos imprimibles como certificados,
 * reportes o informes técnicos, basándose en una estructura de nodos (`templateData`)
 * y datos de entrada (`sourceData`). Permite generar documentos con múltiples páginas,
 * encabezados, pies de página, secciones, tablas y elementos de texto configurables.
 *
 * Se puede controlar su tamaño y estilo mediante las props `size` y `variant`.
 * También expone una función `GoPrint` mediante `ref` para imprimir el contenido renderizado.
 * @param {PrintingSystemProps} props - Propiedades del componente.
 * @param {RootNode} props.templateData - Estructura jerárquica que describe los nodos a renderizar (header, pages, footer, etc.).
 * @param {SourceData} props.sourceData - Datos utilizados para interpolar valores dentro de los nodos definidos en `templateData`.
 * @param {string} [props.className] - Clases CSS adicionales para aplicar al contenedor raíz del componente.
 * @param {'small' | 'medium' | 'large'} [props.size='medium'] - Tamaño base del documento que puede afectar tipografía y espaciado.
 * @param {'body' | 'compact'} [props.variant='body'] - Variante de estilo del documento.
 * @example
 * const ref = useRef<PrintingSystemRef>(null);
 *
 * <PrintingSystem
 *   ref={ref}
 *   templateData={templateData}
 *   sourceData={sourceData}
 *   size="large"
 *   variant="compact"
 * />
 *
 * <Button onClick={() => ref.current?.GoPrint()}>Imprimir</Button>
 * @returns {JSX.Element} Componente visual que renderiza una estructura imprimible compuesta por páginas y nodos configurables.
 */
export declare const PrintingSystem: import('react').ForwardRefExoticComponent<PrintingSystemProps & import('react').RefAttributes<PrintingSystemRef>>;
//# sourceMappingURL=PrintingSystem.d.ts.map