import { BaseSearchSource } from './BaseSearchSource';
import type { SearchSourceOptions } from './BaseSearchSource';
import type { ChannelFilters, ChannelOptions, ChannelSort, MessageFilters, MessageResponse, SearchMessageSort } from '../types';
import type { StreamChat } from '../client';
export declare class MessageSearchSource extends BaseSearchSource<MessageResponse> {
    readonly type = "messages";
    private client;
    messageSearchChannelFilters: ChannelFilters | undefined;
    messageSearchFilters: MessageFilters | undefined;
    messageSearchSort: SearchMessageSort | undefined;
    channelQueryFilters: ChannelFilters | undefined;
    channelQuerySort: ChannelSort | undefined;
    channelQueryOptions: Omit<ChannelOptions, 'limit' | 'offset'> | undefined;
    constructor(client: StreamChat, options?: SearchSourceOptions);
    protected query(searchQuery: string): Promise<{
        items: never[];
        next?: undefined;
    } | {
        items: MessageResponse[];
        next: string | undefined;
    }>;
    protected filterQueryResults(items: MessageResponse[]): MessageResponse[];
}
