import { BorderProperties, ParagraphConditionalFormatting, ParagraphProperties, RunProperties, ShadingProperties } from './types.js'; /** * Encoded properties for the w:styles document. */ export interface StylesDocumentProperties { /** Default run and paragraph properties for the document. */ docDefaults: DocDefaults; /** Latent style definitions and defaults. */ latentStyles: LatentStyles; /** Styles keyed by styleId. */ styles: Record; } /** * Default run and paragraph properties stored under w:docDefaults. */ export interface DocDefaults { /** Default run properties. */ runProperties?: RunProperties; /** Default paragraph properties. */ paragraphProperties?: ParagraphProperties; } /** * Latent style defaults and per-style exceptions. */ export interface LatentStyles { /** Default locked state for latent styles. */ defLockedState?: boolean; /** Default UI priority flag for latent styles. */ defUIPriority?: boolean; /** Default semi-hidden flag for latent styles. */ defSemiHidden?: boolean; /** Default unhide-when-used flag for latent styles. */ defUnhideWhenUsed?: boolean; /** Default quick-format flag for latent styles. */ defQFormat?: boolean; /** Latent style exceptions keyed by style name. */ lsdExceptions?: Record; } /** * Latent style exception definition. */ export interface LsdException { /** Latent style name. */ name?: string; /** Locked flag for the latent style. */ locked?: boolean; /** Quick format flag for the latent style. */ qFormat?: boolean; /** Semi-hidden flag for the latent style. */ semiHidden?: boolean; /** Unhide-when-used flag for the latent style. */ unhideWhenUsed?: boolean; /** UI priority value for the latent style. */ uiPriority?: number; } /** * Encoded style definition from w:style. */ export interface StyleDefinition { /** Style type (paragraph, character, table, etc.). */ type?: string; /** Style identifier. */ styleId?: string; /** Default style flag. */ default?: boolean; /** Custom style flag. */ customStyle?: boolean; /** Human-readable style name. */ name?: string; /** Comma-separated style aliases. */ aliases?: string; /** Based-on style identifier. */ basedOn?: string; /** Next style identifier. */ next?: string; /** Linked style identifier. */ link?: string; /** Auto-redefine flag. */ autoRedefine?: boolean; /** Hidden style flag. */ hidden?: boolean; /** Semi-hidden style flag. */ semiHidden?: boolean; /** Unhide-when-used style flag. */ unhideWhenUsed?: boolean; /** Quick-format style flag. */ qFormat?: boolean; /** Locked style flag. */ locked?: boolean; /** Personal style flag. */ personal?: boolean; /** Personal compose flag. */ personalCompose?: boolean; /** Personal reply flag. */ personalReply?: boolean; /** UI priority value. */ uiPriority?: number; /** Revision identifier. */ rsid?: number; /** Paragraph properties applied by the style. */ paragraphProperties?: ParagraphProperties; /** Run properties applied by the style. */ runProperties?: RunProperties; /** Table properties applied by the style. */ tableProperties?: TableProperties; /** Table row properties applied by the style. */ tableRowProperties?: TableRowProperties; /** Table cell properties applied by the style. */ tableCellProperties?: TableCellProperties; /** Table style properties applied by the style. */ tableStyleProperties?: Record; } /** * Generic measurement properties used by table layout elements. */ export interface MeasurementProperties { /** Measurement value, usually in twentieths of a point. */ value?: number; /** Measurement type (auto, dxa, pct, etc.). */ type?: string; } /** * Table properties encoded from w:tblPr. */ export interface TableProperties { /** Right-to-left visual order for table rendering. */ rightToLeft?: boolean; /** Table justification value. */ justification?: string; /** Table shading properties. */ shading?: ShadingProperties; /** Table caption text. */ caption?: string; /** Table cell spacing properties. */ tableCellSpacing?: MeasurementProperties; /** Table description text. */ description?: string; /** Table indent properties. */ tableIndent?: MeasurementProperties; /** Table layout algorithm. */ tableLayout?: string; /** Table look settings. */ tblLook?: TableLookProperties; /** Table overlap behavior. */ overlap?: string; /** Table style identifier. */ tableStyleId?: string; /** Table style column band size. */ tableStyleColBandSize?: number; /** Table style row band size. */ tableStyleRowBandSize?: number; /** Table width properties. */ tableWidth?: MeasurementProperties; /** Floating table properties. */ floatingTableProperties?: TableFloatingProperties; /** Table border properties. */ borders?: TableBorders; /** Table cell margin properties. */ cellMargins?: TableCellMargins; } /** * Table look properties from w:tblLook. */ export interface TableLookProperties { /** Apply first column formatting. */ firstColumn?: boolean; /** Apply first row formatting. */ firstRow?: boolean; /** Apply last column formatting. */ lastColumn?: boolean; /** Apply last row formatting. */ lastRow?: boolean; /** Disable horizontal banding. */ noHBand?: boolean; /** Disable vertical banding. */ noVBand?: boolean; /** Raw table look value. */ val?: string; } /** * Floating table positioning properties. */ export interface TableFloatingProperties { /** Distance from left text boundary. */ leftFromText?: number; /** Distance from right text boundary. */ rightFromText?: number; /** Distance from top text boundary. */ topFromText?: number; /** Distance from bottom text boundary. */ bottomFromText?: number; /** Horizontal position value. */ tblpX?: number; /** Vertical position value. */ tblpY?: number; /** Horizontal anchor reference. */ horzAnchor?: string; /** Vertical anchor reference. */ vertAnchor?: string; /** Horizontal position specifier. */ tblpXSpec?: string; /** Vertical position specifier. */ tblpYSpec?: string; } /** * Table border properties. */ export interface TableBorders { /** Bottom border definition. */ bottom?: BorderProperties; /** End border definition. */ end?: BorderProperties; /** Inside horizontal border definition. */ insideH?: BorderProperties; /** Inside vertical border definition. */ insideV?: BorderProperties; /** Left border definition. */ left?: BorderProperties; /** Right border definition. */ right?: BorderProperties; /** Start border definition. */ start?: BorderProperties; /** Top border definition. */ top?: BorderProperties; } /** * Table cell border properties, including diagonal borders. */ export interface TableCellBorders { /** Top border definition. */ top?: BorderProperties; /** Start border definition. */ start?: BorderProperties; /** Left border definition. */ left?: BorderProperties; /** Bottom border definition. */ bottom?: BorderProperties; /** End border definition. */ end?: BorderProperties; /** Right border definition. */ right?: BorderProperties; /** Inside horizontal border definition. */ insideH?: BorderProperties; /** Inside vertical border definition. */ insideV?: BorderProperties; /** Top-left to bottom-right diagonal border definition. */ tl2br?: BorderProperties; /** Top-right to bottom-left diagonal border definition. */ tr2bl?: BorderProperties; } /** * Table cell margin properties. */ export interface TableCellMargins { /** Bottom margin properties. */ marginBottom?: MeasurementProperties; /** End margin properties. */ marginEnd?: MeasurementProperties; /** Left margin properties. */ marginLeft?: MeasurementProperties; /** Right margin properties. */ marginRight?: MeasurementProperties; /** Start margin properties. */ marginStart?: MeasurementProperties; /** Top margin properties. */ marginTop?: MeasurementProperties; } /** * Table row properties encoded from w:trPr. */ export interface TableRowProperties { /** Prevent row from splitting across pages. */ cantSplit: boolean; /** Conditional formatting properties. */ cnfStyle?: ParagraphConditionalFormatting; /** Division identifier value. */ divId?: string; /** Grid cells after the row. */ gridAfter?: number; /** Grid cells before the row. */ gridBefore?: number; /** Hide the row. */ hidden: boolean; /** Row justification value. */ justification?: string; /** Table cell spacing properties. */ tableCellSpacing?: MeasurementProperties; /** Repeat header row flag. */ repeatHeader: boolean; /** Row height properties. */ rowHeight?: TableRowHeight; /** Width after the row. */ wAfter?: MeasurementProperties; /** Width before the row. */ wBefore?: MeasurementProperties; } /** * Table row height properties. */ export interface TableRowHeight { /** Row height value. */ value?: number; /** Row height rule. */ rule?: string; } /** * Table cell properties encoded from w:tcPr. */ export interface TableCellProperties { /** Conditional formatting properties. */ cnfStyle?: ParagraphConditionalFormatting; /** Table cell width properties. */ cellWidth?: MeasurementProperties; /** Horizontal grid span for the cell. */ gridSpan?: number; /** Vertical merge behavior. */ vMerge?: string; /** Table cell border properties. */ borders?: TableCellBorders; /** Table cell shading properties. */ shading?: ShadingProperties; /** Disable wrapping within the cell. */ noWrap?: boolean; /** Table cell margin properties. */ cellMargins?: TableCellMargins; /** Text direction within the cell. */ textDirection?: string; /** Fit text within the cell. */ tcFitText?: boolean; /** Vertical alignment within the cell. */ vAlign?: string; /** Hide the cell mark. */ hideMark?: boolean; /** Header references applied to the cell. */ headers?: TableHeaderReference[]; } /** * Header reference entry encoded from w:headers. */ export interface TableHeaderReference { /** Header value. */ header: string; } export type TableStyleType = 'wholeTable' | 'firstRow' | 'lastRow' | 'firstCol' | 'lastCol' | 'band1Vert' | 'band2Vert' | 'band1Horz' | 'band2Horz' | 'neCell' | 'nwCell' | 'seCell' | 'swCell'; /** * Table style properties encoded from w:tblStylePr. */ export interface TableStyleProperties { /** Table style property type. */ type?: TableStyleType; /** Paragraph properties for the table style. */ paragraphProperties?: ParagraphProperties; /** Run properties for the table style. */ runProperties?: RunProperties; /** Table properties for the table style. */ tableProperties?: TableProperties; /** Table row properties for the table style. */ tableRowProperties?: TableRowProperties; /** Table cell properties for the table style. */ tableCellProperties?: TableCellProperties; } //# sourceMappingURL=styles-types.d.ts.map