import { TabItem, LoadDataParams } from '../types'; export interface ListState { activeTab: string; currentPage: number; isStickyActive: boolean; } export declare type ListAction = { type: 'SET_ACTIVE_TAB'; payload: string[] | string; } | { type: 'SET_CURRENT_PAGE'; payload: number; } | { type: 'SET_STICKY_ACTIVE'; payload: boolean; } | { type: 'RESET_PAGE'; }; export interface UseListStateProps { /** 外部传入的当前页码 */ externalCurrentPage?: number; /** tab数据 */ tabItems: TabItem[]; /** 默认页面大小 */ defaultPageSize: number; /** 数据加载回调 */ onLoadData?: (params: LoadDataParams) => void; /** tab样式 */ tabStyle: 'anchor' | 'switch' | 'none'; isTreeTab: boolean; } export interface UseListStateReturn { state: ListState; setActiveTab: (tab: string) => void; setCurrentPage: (page: number) => void; setStickyActive: (active: boolean) => void; resetPage: () => void; handleTabChange: (key: string[] | string) => void; handlePageChange: (page: number, size?: number) => void; handleShowSizeChange: (current: number, size: number) => void; handleLoadMore: () => void; handleViewLess: () => void; handleScrollLoad: () => void; actualCurrentPage: number; } export declare const useListState: ({ externalCurrentPage, tabItems, defaultPageSize, onLoadData, tabStyle, isTreeTab, }: UseListStateProps) => UseListStateReturn;