import { Ref } from 'vue';
interface UseFeedLoadMoreOptions {
    feedRef: Ref<HTMLElement | null>;
    emit?: (event: 'loadMore' | 'loadMoreDown', ...args: unknown[]) => void;
    isLoadingMoreRef?: Ref<boolean>;
}
/**
 * Композабл для управления подгрузкой сообщений сверху/снизу и восстановлением позиции скролла
 */
export declare function useFeedLoadMore({ feedRef, emit, isLoadingMoreRef }: UseFeedLoadMoreOptions): {
    allowLoadMoreTop: Ref<boolean, boolean>;
    allowLoadMoreBottom: Ref<boolean, boolean>;
    movingDown: Ref<boolean, boolean>;
    isScrollByMouseButton: Ref<boolean, boolean>;
    pendingTopRestore: Ref<boolean, boolean>;
    topLoadJustHappened: Ref<boolean, boolean>;
    checkScrollPosition: (allowLoadMore?: boolean) => void;
    restoreScrollPosition: (delay?: number) => void;
    startScrollWatch: (event: MouseEvent) => void;
    stopScrollWatch: () => void;
    resetAllowFlags: () => void;
};
export {};
