import { type Ref, type ComputedRef } from 'vue';
/**
 * Композабл для управления скроллом списка чатов.
 * Инкапсулирует логику прокрутки вверх, отслеживания позиции скролла,
 * определения необходимости загрузки дополнительных чатов и отображения
 * кнопки прокрутки вверх.
 */
/**
 * Тип эмиттера событий для скролла.
 */
type ChatListScrollEmit = {
    /** Событие запроса загрузки дополнительных чатов */
    (event: 'loadMoreChats'): void;
};
/**
 * Параметры и зависимости композабла.
 */
interface UseChatListScrollOptions {
    /** Ссылка на DOM-элемент контейнера списка чатов */
    refChatList: Ref<HTMLElement | undefined>;
    /** Реактивный список чатов (для определения момента обновления) */
    chats: ComputedRef<unknown[]> | Ref<unknown[]>;
    /** Функция эмита событий */
    emit: ChatListScrollEmit;
}
export declare function useChatListScroll({ refChatList, chats, emit }: UseChatListScrollOptions): {
    allowLoadMore: Ref<boolean, boolean>;
    isShowButton: Ref<boolean, boolean>;
    scrollToTopForce: () => void;
    scrollCheck: () => void;
    startScrollWatch: (event: MouseEvent) => void;
    stopScrollWatch: () => void;
};
export {};
