import { ReactNode } from 'react';
import { ViewProps, StyleProp, TextStyle, ViewStyle } from 'react-native';

export type InkCenterMode = 'auto' | 'off' | 'force';

export interface ALHTextProps extends ViewProps {
  /** 文本内容（可选）；也可用 children 传入 */
  text?: string;
  /** 也可通过 children 传文本内容（将被拼接为字符串） */
  children?: ReactNode;
  /** 选择性墨水居中策略：auto(默认)、off、force */
  inkCenterMode?: InkCenterMode;
  /** 连续下行部字符集合（默认："gjpqy"），用于auto模式的子串判定 */
  descenderSet?: string;
  /** 是否绘制辅助线以便调试（默认false） */
  debug?: boolean;
  /** 是否包含字体额外内边距（默认false） */
  includeFontPadding?: boolean;
  /** 支持 Text 风格与容器布局风格的混合（用于隐藏 Text 测量） */
  style?: StyleProp<TextStyle | ViewStyle>;
  /** 透传常见 Text 布局属性（如需要） */
  numberOfLines?: number;
  allowFontScaling?: boolean;
  /**
   * 文本样式通过 style 传递（与 RN Text 一致）：
   * - color: 文本颜色
   * - fontSize: 字号（DIP）
   * - lineHeight: 行高（DIP；单行固定行盒）
   * - fontFamily: 字体族
   * - fontWeight: 'normal' | 'bold' | '100'..'900'
   * - textAlign: 'auto' | 'left' | 'right' | 'center'
   */
}

declare const ALHText: (props: ALHTextProps) => JSX.Element;
export default ALHText;
export { ALHText };
export const ALHTextNative: any;