import { ServerSideConfig, ServerSideRequest, ServerSideState, SortingState, FilteringState, PaginationState } from '../types';
interface UseServerSideProps<T> {
    config: ServerSideConfig<T>;
    initialPagination?: Partial<PaginationState>;
    initialSorting?: SortingState[];
    initialFiltering?: FilteringState;
    initialGlobalSearch?: string;
}
interface UseServerSideReturn<T> {
    data: T[];
    totalCount: number;
    filteredCount: number;
    totalPages: number;
    pagination: PaginationState;
    sorting: SortingState[];
    filtering: FilteringState;
    globalSearch: string;
    serverState: ServerSideState;
    loadData: () => Promise<void>;
    handleSort: (columnId: string) => Promise<void>;
    handleFilter: (columnId: string, value: any) => Promise<void>;
    handlePageChange: (pageIndex: number) => Promise<void>;
    handlePageSizeChange: (pageSize: number) => Promise<void>;
    handleGlobalSearch: (searchTerm: string) => Promise<void>;
    refresh: () => Promise<void>;
    retry: () => Promise<void>;
    clearError: () => void;
    getCurrentRequest: () => ServerSideRequest;
}
export declare function useServerSide<T>({ config, initialPagination, initialSorting, initialFiltering, initialGlobalSearch, }: UseServerSideProps<T>): UseServerSideReturn<T>;
export {};
//# sourceMappingURL=use-server-side.d.ts.map