UNPKG

stream-chat

Version:

JS SDK for the Stream Chat API

32 lines (31 loc) 1.67 kB
import { BaseSearchSource, type SearchQueryOptions } from './BaseSearchSource'; import type { FilterBuilderOptions } from '../pagination'; import { FilterBuilder } from '../pagination'; import type { Channel } from '../channel'; import type { StreamChat } from '../client'; import type { ChannelFilters, ChannelOptions, ChannelSort } from '../types'; import type { SearchSourceOptions } from './types'; type CustomContext = Record<string, unknown>; export type ChannelSearchSourceFilterBuilderContext<C extends CustomContext = CustomContext> = { searchQuery?: string; } & C; export type ChannelSearchSourceOptions = SearchSourceOptions & { /** Static base filters merged under the dynamically generated ones. */ filters?: ChannelFilters; sort?: ChannelSort; searchOptions?: Omit<ChannelOptions, 'limit' | 'offset'>; }; export declare class ChannelSearchSource<TFilterContext extends CustomContext = CustomContext> extends BaseSearchSource<Channel> { readonly type = "channels"; client: StreamChat; filters: ChannelFilters | undefined; sort: ChannelSort | undefined; searchOptions: Omit<ChannelOptions, 'limit' | 'offset'> | undefined; filterBuilder: FilterBuilder<ChannelFilters, ChannelSearchSourceFilterBuilderContext<TFilterContext>>; constructor(client: StreamChat, options?: ChannelSearchSourceOptions, filterBuilderOptions?: FilterBuilderOptions<ChannelFilters, ChannelSearchSourceFilterBuilderContext<TFilterContext>>); protected query(searchQuery: string, queryOptions?: SearchQueryOptions): Promise<{ items: Channel[]; }>; protected filterQueryResults(items: Channel[]): Channel[]; } export {};