import { ReactNode, CSSProperties, UIEvent } from 'react';
export interface ScrollableListProps {
    /** 列表项数据 */
    children: ReactNode;
    /** 容器高度 */
    height?: number | string;
    /** 最大高度 */
    maxHeight?: number | string;
    /** 渐变高度 */
    gradientHeight?: number;
    /** 渐变颜色 */
    gradientColor?: string;
    /** 列表容器样式 */
    containerStyle?: CSSProperties;
    /** 列表内容样式 */
    contentStyle?: CSSProperties;
    /** 自定义渐变样式 */
    gradientStyle?: CSSProperties;
    /** 是否显示滚动条 */
    showScrollbar?: boolean;
    /** 滚动事件回调 */
    onScroll?: (event: UIEvent<HTMLDivElement>) => void;
    /** 是否需要滚动状态改变回调 */
    onScrollableChange?: (isScrollable: boolean) => void;
    /** 列数设置，1为单列，大于1为多列，'auto'为自适应列数 */
    columnCount?: number | 'auto';
    /** 列间距，默认为16px */
    columnGap?: number | string;
    /** 行间距，默认为16px */
    rowGap?: number | string;
    /** 每列最小宽度（当columnCount为'auto'时生效） */
    minColumnWidth?: number | string;
}
export interface ScrollState {
    /** 是否需要滚动 */
    isScrollable: boolean;
    /** 是否显示顶部渐变 */
    showTopGradient: boolean;
    /** 是否显示底部渐变 */
    showBottomGradient: boolean;
    /** 当前滚动位置 */
    scrollTop: number;
    /** 可滚动的最大距离 */
    maxScrollTop: number;
}
export interface GradientConfig {
    /** 渐变高度 */
    height: number;
    /** 渐变颜色 */
    color: string;
    /** 自定义样式 */
    style?: CSSProperties;
}
