import { SimplifiedStyledElement, StyledElement } from "./Utils.js";
/**
 * @class PageBuilder
 * @description Defines a new page:
 * It's a sort of collection of styled rows.
 * @param {number} rowsPerPage - The number of rows per page. Default is 100. Useful for scrolling.
 *
 * @export
 * @class PageBuilder
 */
export declare class PageBuilder {
    rowsPerPage: number;
    scrollIndex: number;
    content: StyledElement[][];
    constructor(rowsPerPage?: number);
    /**
     * @description Add a new styled row to the page.
     * @param {parameters<object>} row - The styled row to add.
     * @returns {PageBuilder}
     * @memberOf PageBuilder
     * @example
     * page.addRow({ text: 'Hello World', color: 'white' })
     * page.addRow({ text: 'Hello World', color: 'white' }, { text: 'Hello World', color: 'white' })
     */
    addRow(...args: SimplifiedStyledElement[]): PageBuilder;
    /**
     * @description Add an empty row to the page. (like <br /> in HTML)
     * @param {number} [count=1] - The number of empty rows to add.
     * @returns {PageBuilder}
     * @memberOf PageBuilder
     * @example page.addEmptyRow()
     * page.addEmptyRow(2)
     */
    addSpacer(height?: number): PageBuilder;
    /**
     * @description Returns the content of the page.
     * @returns {Array<Array<object>>}
     * @memberOf PageBuilder
     * @example page.getContent()
     */
    getContent(): StyledElement[][];
    /**
     * @description Returns the height of the page.
     * @returns {number}
     * @memberOf PageBuilder
     * @example page.getPageHeight()
     */
    getPageHeight(): number;
    /**
     * @description Returns the height of the viewed page. It excludes the rows that are not visible.
     * @returns {number}
     * @memberOf PageBuilder
     * @example page.getViewedPageHeight() // returns the height of the page that is visible
     */
    getViewedPageHeight(): number;
    /**
     * @description Changes the index of the scroll bar.
     * @param {number} index - The index of the scroll bar.
     * @returns {PageBuilder}
     * @memberOf PageBuilder
     * @example page.setScrollIndex(10)
     */
    setScrollIndex(index: number): PageBuilder;
    /**
     * @description Changes the number of rows per page.
     * @param {number} rowsPerPage - The number of rows per page.
     * @returns {PageBuilder}
     * @memberOf PageBuilder
     * @example page.setRowsPerPage(10)
     */
    setRowsPerPage(rpp: number): PageBuilder;
    /**
     * @description Increases the index of the scroll bar.
     * @returns {PageBuilder}
     * @memberOf PageBuilder
     * @example page.increaseScrollIndex()
     */
    increaseScrollIndex(): PageBuilder;
    /**
     * @description Decreases the index of the scroll bar.
     * @returns {PageBuilder}
     * @memberOf PageBuilder
     * @example page.increaseScrollIndex()
     */
    decreaseScrollIndex(): PageBuilder;
    /**
     * @description Clears the page.
     * @returns {PageBuilder}
     * @memberOf PageBuilder
     * @example page.clear()
     * @since 1.2.0
     */
    clear(): PageBuilder;
}
export default PageBuilder;
//# sourceMappingURL=PageBuilder.d.ts.map