import { BoxSpacing } from '../../../../../../../layout-engine/contracts/src/index.js';
import { PMNode } from '../types.js';
import { ConverterContext } from '../converter-context.js';
export type TableStyleHydration = {
    borders?: Record<string, unknown>;
    cellPadding?: BoxSpacing;
    justification?: string;
    tableIndent?: {
        width?: number;
        type?: string;
    };
    tableLayout?: string;
    tableWidth?: {
        width?: number;
        type?: string;
    };
    tableCellSpacing?: {
        value?: number;
        type?: string;
    };
};
/**
 * Hydrates table-level attributes from inline properties and the style-engine.
 *
 * Cascade: style-resolved properties fill gaps that inline properties don't cover.
 * Inline properties (from PM node attrs) always win.
 *
 * The hydrator never mutates the PM node and only returns new objects,
 * so callers must merge the result with the node's attrs explicitly.
 */
export declare const hydrateTableStyleAttrs: (tableNode: PMNode, context?: ConverterContext, effectiveStyleId?: string | null) => TableStyleHydration | null;
//# sourceMappingURL=table-styles.d.ts.map