import { ChannelService } from './channel.service';
import { VirtualizedListQueryDirection, VirtualizedListScrollPosition, StreamMessage } from './types';
import { Observable } from 'rxjs';
import { VirtualizedListService } from './virtualized-list.service';
/**
 * The `VirtualizedMessageListService` removes messages from the message list that are currently not in view
 */
export declare class VirtualizedMessageListService extends VirtualizedListService<StreamMessage> {
    readonly mode: 'thread' | 'main';
    private channelService;
    constructor(mode: 'thread' | 'main', scrollPosition$: Observable<VirtualizedListScrollPosition>, channelService: ChannelService);
    protected loadMoreFromBuffer(direction: VirtualizedListQueryDirection): void;
    protected isEqual: (t1: StreamMessage, t2: StreamMessage) => boolean;
    protected query: (direction: VirtualizedListQueryDirection) => Promise<void> | Promise<import("stream-chat").QueryChannelAPIResponse>;
}
