/**
* PptxGenJS: XML Generation
*/
import { IPresentationProps, ISlideObject, PresSlide, ShadowProps, SlideLayout, TableCell } from './core-interfaces';
/**
* Generate the XML for text and its options (bold, bullet, etc) including text runs (word-level formatting)
* @param {ISlideObject|TableCell} slideObj - slideObj or tableCell
* @note PPT text lines [lines followed by line-breaks] are created using
-aragraph's
* @note Bullets are a paragragh-level formatting device
* @template
*
*
*
*
*
*
*
*
*
* textbox text
*
*
*
*
* @returns XML containing the param object's text and formatting
*/
export declare function genXmlTextBody(slideObj: ISlideObject | TableCell): string;
/**
* Generate an XML Placeholder
* @param {ISlideObject} placeholderObj
* @returns XML
*/
export declare function genXmlPlaceholder(placeholderObj: ISlideObject): string;
/**
* Generate XML ContentType
* @param {PresSlide[]} slides - slides
* @param {SlideLayout[]} slideLayouts - slide layouts
* @param {PresSlide} masterSlide - master slide
* @returns XML
*/
export declare function makeXmlContTypes(slides: PresSlide[], slideLayouts: SlideLayout[], masterSlide?: PresSlide): string;
/**
* Creates `_rels/.rels`
* @returns XML
*/
export declare function makeXmlRootRels(): string;
/**
* Creates `docProps/app.xml`
* @param {PresSlide[]} slides - Presenation Slides
* @param {string} company - "Company" metadata
* @returns XML
*/
export declare function makeXmlApp(slides: PresSlide[], company: string): string;
/**
* Creates `docProps/core.xml`
* @param {string} title - metadata data
* @param {string} subject - metadata data
* @param {string} author - metadata value
* @param {string} revision - metadata value
* @returns XML
*/
export declare function makeXmlCore(title: string, subject: string, author: string, revision: string): string;
/**
* Creates `ppt/_rels/presentation.xml.rels`
* @param {PresSlide[]} slides - Presenation Slides
* @returns XML
*/
export declare function makeXmlPresentationRels(slides: PresSlide[]): string;
/**
* 创建幻灯片过渡动画
* @param {PresSlide} slide 幻灯片
* @returns {string} XML
*/
export declare function makeXmlSlideTransition(slide: PresSlide): string;
/**
* Generates XML for the slide file (`ppt/slides/slide1.xml`)
* @param {PresSlide} slide - the slide object to transform into XML
* @return {string} XML
*/
export declare function makeXmlSlide(slide: PresSlide): string;
/**
* Get text content of Notes from Slide
* @param {PresSlide} slide - the slide object to transform into XML
* @return {string} notes text
*/
export declare function getNotesFromSlide(slide: PresSlide): string;
/**
* Generate XML for Notes Master (notesMaster1.xml)
* @returns {string} XML
*/
export declare function makeXmlNotesMaster(): string;
/**
* Creates Notes Slide (`ppt/notesSlides/notesSlide1.xml`)
* @param {PresSlide} slide - the slide object to transform into XML
* @return {string} XML
*/
export declare function makeXmlNotesSlide(slide: PresSlide): string;
/**
* Generates the XML layout resource from a layout object
* @param {SlideLayout} layout - slide layout (master)
* @return {string} XML
*/
export declare function makeXmlLayout(layout: SlideLayout): string;
/**
* Creates Slide Master 1 (`ppt/slideMasters/slideMaster1.xml`)
* @param {PresSlide} slide - slide object that represents master slide layout
* @param {SlideLayout[]} layouts - slide layouts
* @return {string} XML
*/
export declare function makeXmlMaster(slide: PresSlide, layouts: SlideLayout[]): string;
/**
* Generates XML string for a slide layout relation file
* @param {number} layoutNumber - 1-indexed number of a layout that relations are generated for
* @param {SlideLayout[]} slideLayouts - Slide Layouts
* @return {string} XML
*/
export declare function makeXmlSlideLayoutRel(layoutNumber: number, slideLayouts: SlideLayout[]): string;
/**
* Creates `ppt/_rels/slide*.xml.rels`
* @param {PresSlide[]} slides
* @param {SlideLayout[]} slideLayouts - Slide Layout(s)
* @param {number} `slideNumber` 1-indexed number of a layout that relations are generated for
* @return {string} XML
*/
export declare function makeXmlSlideRel(slides: PresSlide[], slideLayouts: SlideLayout[], slideNumber: number): string;
/**
* Generates XML string for a slide relation file.
* @param {number} slideNumber - 1-indexed number of a layout that relations are generated for
* @return {string} XML
*/
export declare function makeXmlNotesSlideRel(slideNumber: number): string;
/**
* Creates `ppt/slideMasters/_rels/slideMaster1.xml.rels`
* @param {PresSlide} masterSlide - Slide object
* @param {SlideLayout[]} slideLayouts - Slide Layouts
* @return {string} XML
*/
export declare function makeXmlMasterRel(masterSlide: PresSlide, slideLayouts: SlideLayout[]): string;
/**
* Creates `ppt/notesMasters/_rels/notesMaster1.xml.rels`
* @return {string} XML
*/
export declare function makeXmlNotesMasterRel(): string;
/**
* Creates `ppt/theme/theme1.xml`
* @return {string} XML
*/
export declare function makeXmlTheme(pres: IPresentationProps): string;
/**
* Create presentation file (`ppt/presentation.xml`)
* @see https://docs.microsoft.com/en-us/office/open-xml/structure-of-a-presentationml-document
* @see http://www.datypic.com/sc/ooxml/t-p_CT_Presentation.html
* @param {IPresentationProps} pres - presentation
* @return {string} XML
*/
export declare function makeXmlPresentation(pres: IPresentationProps): string;
/**
* Create `ppt/presProps.xml`
* @return {string} XML
*/
export declare function makeXmlPresProps(): string;
/**
* Create `ppt/tableStyles.xml`
* @see: http://openxmldeveloper.org/discussions/formats/f/13/p/2398/8107.aspx
* @return {string} XML
*/
export declare function makeXmlTableStyles(): string;
/**
* Creates `ppt/viewProps.xml`
* @return {string} XML
*/
export declare function makeXmlViewProps(): string;
/**
* Checks shadow options passed by user and performs corrections if needed.
* @param {ShadowProps} shadowProps - shadow options
*/
export declare function correctShadowOptions(shadowProps: ShadowProps): void;