import { AttributeInfo } from '../internal/attributeInfo';
import { LinkElement } from './linkElement';
export declare const importsMapPageSetup: {
    LinkElement: typeof LinkElement;
};
/**
 * Represents the page setup properties of a section.
 * PageSetup object contains all the page setup attributes of a section (left margin, bottom margin, paper size, and so on) as properties.
 */
export declare class PageSetup extends LinkElement {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<AttributeInfo>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): AttributeInfo[];
    /**
     * Gets or sets a value indicating whether this section contains bidirectional (complex scripts) text.
     * When true, the columns in this section are laid out from right to left.
     */
    bidi: boolean;
    /**
     * Gets or sets a value indicating whether the page border is positioned relative to intersecting texts and objects.
     */
    borderAlwaysInFront: boolean;
    /**
     * Gets or sets the option that controls which pages the page border is printed on.
     */
    borderAppliesTo: PageSetup.BorderAppliesToEnum;
    /**
     * Gets or sets the value, that indicates whether the specified page border is measured from the edge of the page or from the text it surrounds.
     */
    borderDistanceFrom: PageSetup.BorderDistanceFromEnum;
    /**
     * Gets or sets the distance (in points) between the bottom edge of the page and the bottom boundary of the body text.
     */
    bottomMargin: number;
    /**
     * Gets or sets a value indicating whether a different header or footer is used on the first page.
     */
    differentFirstPageHeaderFooter: boolean;
    /**
     * Gets or sets the paper tray (bin) to use for the first page of a section.
     * The value is implementation (printer) specific.
     */
    firstPageTray: number;
    /**
     * Gets or sets the distance (in points) between the footer and the bottom of the page.
     */
    footerDistance: number;
    /**
     * Gets or sets the amount of extra space added to the margin for document binding.
     */
    gutter: number;
    /**
     * Gets or sets the distance (in points) between the header and the top of the page.
     */
    headerDistance: number;
    /**
     * Gets or sets the distance (in points) between the left edge of the page and the left boundary of the body text.
     */
    leftMargin: number;
    /**
     * Gets or sets the numeric increment for line numbers.
     */
    lineNumberCountBy: number;
    /**
     * Gets or sets the distance between the right edge of line numbers and the left edge of the document.
     * Set this property to zero for automatic distance between the line numbers and text of the document.
     */
    lineNumberDistanceFromText: number;
    /**
     * Gets or sets the way line numbering runs  that is, whether it starts over at the beginning of a new page or section or runs continuously.
     */
    lineNumberRestartMode: PageSetup.LineNumberRestartModeEnum;
    /**
     * Gets or sets the starting line number.
     */
    lineStartingNumber: number;
    /**
     * Gets or sets the orientation of the page.
     * Changing Orientation swaps PageWidth and PageHeight.
     */
    orientation: PageSetup.OrientationEnum;
    /**
     * Gets or sets the paper tray (bin) to be used for all but the first page of a section.
     * The value is implementation (printer) specific.
     */
    otherPagesTray: number;
    /**
     * Gets or sets the height of the page in points.
     */
    pageHeight: number;
    /**
     * Gets or sets the page number format.
     */
    pageNumberStyle: PageSetup.PageNumberStyleEnum;
    /**
     * Gets or sets the starting page number of the section.
     * The RestartPageNumbering property, if set to false, will override the PageStartingNumber property so that page numbering can continue from the previous section.
     */
    pageStartingNumber: number;
    /**
     * Gets or sets the width of the page in points.
     */
    pageWidth: number;
    /**
     * Gets or sets the paper size.
     * Setting this property updates PageWidth and PageHeight values. Setting this value to Custom does not change existing values.
     */
    paperSize: PageSetup.PaperSizeEnum;
    /**
     * Gets or sets a value indicating whether page numbering restarts at the beginning of the section.
     * If set to false, the RestartPageNumbering property will override the PageStartingNumber property so that page numbering can continue from the previous section.
     */
    restartPageNumbering: boolean;
    /**
     * Gets or sets the distance (in points) between the right edge of the page and the right boundary of the body text.
     */
    rightMargin: number;
    /**
     * Gets or sets a value indicating whether Microsoft Word uses gutters for the section based on a right-to-left language or a left-to-right language.
     */
    rtlGutter: boolean;
    /**
     * Gets or sets the type of section break for the specified object.
     */
    sectionStart: PageSetup.SectionStartEnum;
    /**
     * Gets or sets a value indicating whether endnotes are printed at the end of the next section that doesn't suppress endnotes. Suppressed endnotes are printed before the endnotes in that section.
     */
    suppressEndnotes: boolean;
    /**
     * Gets or sets the distance (in points) between the top edge of the page and the top boundary of the body text.
     */
    topMargin: number;
    /**
     * Gets or sets the vertical alignment of text on each page in the document.or section.
     */
    verticalAlignment: PageSetup.VerticalAlignmentEnum;
    constructor(init?: Partial<PageSetup>);
    collectFilesContent(_resultFilesContent: Array<any>): void;
    validate(): void;
}
/**
 * Enums for PageSetup
 */
export declare namespace PageSetup {
    enum BorderAppliesToEnum {
        AllPages,
        FirstPage,
        OtherPages
    }
    enum BorderDistanceFromEnum {
        Text,
        PageEdge
    }
    enum LineNumberRestartModeEnum {
        RestartPage,
        RestartSection,
        Continuous
    }
    enum OrientationEnum {
        Portrait,
        Landscape
    }
    enum PageNumberStyleEnum {
        Arabic,
        UppercaseRoman,
        LowercaseRoman,
        UppercaseLetter,
        LowercaseLetter,
        Ordinal,
        Number,
        OrdinalText,
        Hex,
        ChicagoManual,
        Kanji,
        KanjiDigit,
        AiueoHalfWidth,
        IrohaHalfWidth,
        ArabicFullWidth,
        ArabicHalfWidth,
        KanjiTraditional,
        KanjiTraditional2,
        NumberInCircle,
        DecimalFullWidth,
        Aiueo,
        Iroha,
        LeadingZero,
        Bullet,
        Ganada,
        Chosung,
        GB1,
        GB2,
        GB3,
        GB4,
        Zodiac1,
        Zodiac2,
        Zodiac3,
        TradChinNum1,
        TradChinNum2,
        TradChinNum3,
        TradChinNum4,
        SimpChinNum1,
        SimpChinNum2,
        SimpChinNum3,
        SimpChinNum4,
        HanjaRead,
        HanjaReadDigit,
        Hangul,
        Hanja,
        Hebrew1,
        Arabic1,
        Hebrew2,
        Arabic2,
        HindiLetter1,
        HindiLetter2,
        HindiArabic,
        HindiCardinalText,
        ThaiLetter,
        ThaiArabic,
        ThaiCardinalText,
        VietCardinalText,
        NumberInDash,
        LowercaseRussian,
        UppercaseRussian,
        None,
        Custom
    }
    enum PaperSizeEnum {
        A3,
        A4,
        A5,
        B4,
        B5,
        Executive,
        Folio,
        Ledger,
        Legal,
        Letter,
        EnvelopeDL,
        Quarto,
        Statement,
        Tabloid,
        Paper10x14,
        Paper11x17,
        Number10Envelope,
        JisB4,
        JisB5,
        Custom
    }
    enum SectionStartEnum {
        Continuous,
        NewColumn,
        NewPage,
        EvenPage,
        OddPage
    }
    enum VerticalAlignmentEnum {
        Top,
        Center,
        Justify,
        Bottom
    }
}
