"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const xml_components_1 = require("../xml-components");
class TableProperties extends xml_components_1.XmlComponent {
    constructor() {
        super("w:tblPr");
    }
    setWidth(type, w) {
        this.root.push(new PreferredTableWidth(type, w));
        return this;
    }
    fixedWidthLayout() {
        this.root.push(new TableLayout("fixed"));
        return this;
    }
}
exports.TableProperties = TableProperties;
class TableWidthAttributes extends xml_components_1.XmlAttributeComponent {
    constructor() {
        super(...arguments);
        this.xmlKeys = { type: "w:type", w: "w:w" };
    }
}
class PreferredTableWidth extends xml_components_1.XmlComponent {
    constructor(type, w) {
        super("w:tblW");
        this.root.push(new TableWidthAttributes({ type, w }));
    }
}
class TableLayoutAttributes extends xml_components_1.XmlAttributeComponent {
    constructor() {
        super(...arguments);
        this.xmlKeys = { type: "w:type" };
    }
}
class TableLayout extends xml_components_1.XmlComponent {
    constructor(type) {
        super("w:tblLayout");
        this.root.push(new TableLayoutAttributes({ type }));
    }
}
//# sourceMappingURL=properties.js.map