import type { LoadMessagesParams, LoadMessagesResult } from "~/types";
interface UsePaginationProps {
    chatId: string;
    onLoadMessages: (params: LoadMessagesParams) => Promise<LoadMessagesResult>;
    pageSize?: number;
    scrollContainerRef: React.RefObject<HTMLDivElement>;
}
interface UsePaginationReturn {
    handleNewMessage: (messageContent: string) => Promise<void>;
    hasMore: boolean;
    isLoading: boolean;
    loadInitialMessages: () => Promise<void>;
    loadMoreMessages: () => Promise<void>;
    scrollToNewMessages: (count: number) => void;
}
export declare function usePagination({ chatId, onLoadMessages, scrollContainerRef, pageSize, }: UsePaginationProps): UsePaginationReturn;
export {};
