/// <reference types="react" />
import { IEmptyProps } from "../../core/Empty";
import { DurationUnitType, FormatDurationItem } from "../../utils/formatDuration";
import { RawValue } from "../Units/units.type";
/**
 * Duration 组件的属性类型
 */
export interface DurationProps extends Omit<RawValue, "decimals"> {
    /**
     * 最大展示单位数量，默认为 2
     * @default 2
     * @example
     * maxDisplayUnits={3} // 最多展示 3 个单位，如：1 day 1 hour 1 minute
     */
    maxDisplayUnits?: number;
    /**
     * 最小展示单位，默认为 "second"（秒）
     * @default "second"
     * @example
     * minUnit="minute" // 最小单位为分钟，秒数会被忽略
     */
    minUnit?: DurationUnitType;
    /**
     * Empty组件的配置属性
     */
    emptyProps?: IEmptyProps;
    /**
     * 自定义返回结果的渲染
     * 当提供此函数时，将使用自定义渲染函数来渲染持续时间，而不是使用默认的渲染方式
     * @param parts 格式化后的持续时间数组，每个元素包含 value 和 unit
     * @returns 自定义的 React 节点
     * @example
     * contentRender={(parts) => (
     *   <div>
     *     {parts.map((part, i) => (
     *       <span key={i}>{part.value} {part.unit}</span>
     *     ))}
     *   </div>
     * )}
     */
    contentRender?: (parts: FormatDurationItem[]) => React.ReactNode;
}
