import { ParagraphAttrs } from '../../../../../contracts/src/index.js';
/**
 * Returns true when the paragraph attributes indicate right-to-left direction.
 * Checks both the `direction` string and the legacy `rtl` boolean flag.
 */
export declare const isRtlParagraph: (attrs: ParagraphAttrs | undefined) => boolean;
/**
 * Compute the effective CSS text-align for a paragraph.
 *
 * DomPainter handles justify via per-line word-spacing, so 'justify'
 * becomes 'left' (LTR) or 'right' (RTL) to align the last line correctly.
 * When no explicit alignment is set the default follows the paragraph direction.
 */
export declare const resolveTextAlign: (alignment: ParagraphAttrs["alignment"], isRtl: boolean) => string;
/**
 * Apply `dir` and `text-align` to an element based on paragraph attributes.
 * Used by both `renderLine` (line elements) and `applyParagraphBlockStyles`
 * (fragment wrappers) so the logic stays in one place.
 */
export declare const applyRtlStyles: (element: HTMLElement, attrs: ParagraphAttrs | undefined) => boolean;
/**
 * Whether the renderer should use absolute-positioned segment layout for a line.
 *
 * Returns false for RTL paragraphs: the layout engine computes tab X positions
 * in LTR order, so for RTL we fall through to inline-flow rendering where the
 * browser's native bidi algorithm handles tab positioning via dir="rtl".
 */
export declare const shouldUseSegmentPositioning: (hasExplicitPositioning: boolean, hasSegments: boolean, isRtl: boolean) => boolean;
//# sourceMappingURL=rtl-styles.d.ts.map