import { ContentTypesXml } from '../../mod.js'; import { Archive } from '../classes/Archive.js'; import { type AnyComponent } from '../classes/Component.js'; import { XmlFileWithContentTypes } from '../classes/XmlFile.js'; import { Paragraph } from '../components/Paragraph.js'; import { Table } from '../components/Table.js'; import { WatermarkText } from '../components/WatermarkText.js'; import { FileMime } from '../enums.js'; import { type File, RelationshipsXml } from './RelationshipsXml.js'; export declare type HeaderFooterChild = Paragraph | Table; export declare type HeaderFooterRoot = Child | Child[] | Promise; /** * Somewhat generic implementation of either the Header or Footer helper classes. */ declare class HeaderFooterAbstractionXml extends XmlFileWithContentTypes { #private; readonly relationships: RelationshipsXml | null; constructor(location: string, nodeName: string, relationships?: RelationshipsXml | null); /** * The components normalized from #root, which is potentially arrayed, promised, array promised etc. */ get children(): Promise; /** * Get all XmlFile instances related to this one, including self. This helps the system * serialize itself back to DOCX fullly. Probably not useful for consumers of the library. */ getRelated(): File[]; protected toNode(): Promise; /** * Set the contents of the document */ set(root: HeaderFooterRoot): void; } export declare class HeaderXml extends HeaderFooterAbstractionXml { static contentType: FileMime; constructor(location: string, relationships: RelationshipsXml | null); /** * Instantiate this class by looking at the DOCX XML for it. */ static fromArchive(archive: Archive, contentTypes: ContentTypesXml, location: string): Promise; /** * Create a new DOCX with contents composed by this library's components. Needs a single JSX component * as root, for example `
` or ``. */ static fromJsx(location: string, roots: HeaderFooterRoot): HeaderXml; } export declare class FooterXml extends HeaderFooterAbstractionXml { static contentType: FileMime; constructor(location: string, relationships: RelationshipsXml | null); /** * Instantiate this class by looking at the DOCX XML for it. */ static fromArchive(archive: Archive, contentTypes: ContentTypesXml, location: string): Promise; /** * Create a new DOCX with contents composed by this library's components. Needs a single JSX component * as root, for example `
` or ``. */ static fromJsx(location: string, roots: HeaderFooterRoot): FooterXml; } export {};