/// <reference types="react" />
import { type ListRange } from 'react-virtuoso';
import { type ContentStateProps } from '../../ContentState';
import type { CardGridInfiniteProps } from '../types';
type UseLogicParams<TDataItem extends Record<string, unknown>> = CardGridInfiniteProps<TDataItem>;
export declare const useLogic: <TDataItem extends Record<string, unknown>>({ list, isLoading, isError, errorMsg, errorImgSrc, scrollRef, skeleton, onRetry, endOfScrollMsg, isEndReached, onLoadMore, noDataImgSrc, defineCard, desktopCardWidth, }: UseLogicParams<TDataItem>) => {
    contentStateProps: Omit<ContentStateProps, "children">;
    desktopCardWidth: {
        min: string;
        max: string;
    };
    virtuosoProps: {
        id: string;
        style: {
            height: string;
        };
        ref: import("react").RefObject<import("react-virtuoso").VirtuosoHandle | null>;
        overscan: number;
        rangeChanged: (range: ListRange) => void;
        endReached: () => void;
    };
    footerProps: {
        isError: boolean | undefined;
        isEndReached: boolean | undefined;
        onRetry: () => void;
        endOfScrollMsg: string | undefined;
        isLoading: boolean | undefined;
    };
    onTopButtonProps: {
        isActive: boolean;
        handleScrollToTop: () => void;
        scrollRef: import("react").RefObject<HTMLElement | null>;
    };
    isMobile: boolean;
    scrollParent: HTMLElement | null;
    skeleton: import("../types").SkeletonConfig;
    list: TDataItem[] | undefined;
    noDataImgSrc: string | undefined;
    defineCard: (itemData: TDataItem) => Omit<import("..").CardProps<TDataItem>, "item">;
    classnames: string;
};
export {};
