/**
 * Shared vertical-text helpers for superscript, subscript, and explicit baseline shifts.
 *
 * OOXML allows both semantic vertical alignment (`vertAlign`) and an explicit
 * position offset (`position`). During rendering, a zero offset is an identity
 * value and should behave the same as an absent offset.
 */
export type VerticalTextAlign = 'superscript' | 'subscript' | 'baseline';
type VerticalTextFormatting = {
    vertAlign?: VerticalTextAlign | null;
    baselineShift?: number | null;
};
/**
 * Font size scaling factor for default superscript/subscript rendering.
 * Matches Microsoft Word's default visual behavior closely enough for layout.
 */
export declare const SUBSCRIPT_SUPERSCRIPT_SCALE = 0.65;
/**
 * Normalizes explicit baseline shifts for rendering.
 *
 * A numeric shift of zero is a no-op and should not override semantic
 * superscript/subscript styling. This preserves the raw OOXML value for
 * round-tripping while giving the renderer a clean intent model.
 */
export declare function normalizeBaselineShift(baselineShift: number | null | undefined): number | undefined;
export declare function hasExplicitBaselineShift(baselineShift: number | null | undefined): boolean;
export declare function isSuperscriptOrSubscript(vertAlign: VerticalTextAlign | null | undefined): boolean;
/**
 * Returns true when the run should use the default superscript/subscript
 * presentation path: scaled font size plus the renderer's default raise/lower.
 */
export declare function usesDefaultScriptLayout(formatting: VerticalTextFormatting): boolean;
/**
 * Applies default superscript/subscript font scaling when the run uses the
 * default semantic layout path.
 */
export declare function scaleFontSizeForVerticalText(fontSize: number, formatting: VerticalTextFormatting): number;
/**
 * Returns the original base font size for runs that already carry scaled
 * superscript/subscript text metrics.
 */
export declare function resolveBaseFontSizeForVerticalText(fontSize: number, formatting: VerticalTextFormatting): number;
export {};
//# sourceMappingURL=vertical-text.d.ts.map