/**
 * Derives the promoted table node attrs that pm-adapter reads at runtime.
 *
 * The importer performs the same extraction when decoding OOXML table properties.
 * Any write path that mutates `tableProperties` on a table node must mirror that
 * extraction so rendering observes the new values immediately instead of waiting
 * for a re-import cycle.
 *
 * @param tp - Canonical nested table properties stored on the ProseMirror table node.
 * @returns Promoted attrs that should be spread onto the same table node.
 */
export declare function syncExtractedTableAttrs(tp: Record<string, unknown>): Record<string, unknown>;
/**
 * Builds the canonical table attrs for a width-authoring mutation.
 *
 * Width edits are treated as an explicit authoring signal that the table should
 * now be fixed-layout. The nested `tableProperties.tableLayout` value drives
 * DOCX export, while the promoted top-level attrs keep pm-adapter/layout in sync
 * during the current editor session.
 *
 * @param currentAttrs - Existing table node attrs before mutation.
 * @param attrOverrides - Additional top-level attrs to write alongside the fixed layout sync.
 * @param tablePropertyOverrides - Nested `tableProperties` updates that should accompany the width edit.
 * @returns Fully synchronized table attrs for `setNodeMarkup`.
 */
export declare function buildWidthAuthoringTableAttrs(currentAttrs: Record<string, unknown>, attrOverrides?: Record<string, unknown>, tablePropertyOverrides?: Record<string, unknown>): Record<string, unknown>;
//# sourceMappingURL=table-attr-sync.d.ts.map