import type { ActivityResponse, CommentResponse } from '../../../src/gen/models';
import type { CommentParent } from '../../../src/types';
import { Feed, FeedState } from '../../../src/feed';
type UseCommentsReturnType<T extends ActivityResponse | CommentResponse> = {
    comments: NonNullable<FeedState['comments_by_entity_id'][T['id']]>['comments'];
    comments_pagination: NonNullable<FeedState['comments_by_entity_id'][T['id']]>['pagination'];
    has_next_page: boolean;
    is_loading_next_page: boolean;
    loadNextPage: (request?: T extends CommentResponse ? Parameters<Feed['loadNextPageCommentReplies']>[1] : Parameters<Feed['loadNextPageActivityComments']>[1]) => Promise<void>;
};
export declare function useComments<T extends CommentParent>(_: {
    feed: Feed;
    parent: T;
}): UseCommentsReturnType<T>;
export declare function useComments<T extends CommentParent>(_: {
    feed?: Feed;
    parent: T;
}): UseCommentsReturnType<T> | undefined;
export {};
