UNPKG

stream-chat

Version:

JS SDK for the Stream Chat API

30 lines (29 loc) 1.71 kB
import { BaseSearchSource, type SearchQueryOptions } from './BaseSearchSource'; import { FilterBuilder, type FilterBuilderOptions } from '../pagination'; import type { Channel } from '../channel'; import type { ChannelMemberResponse, MemberFilters, MemberSort, QueryMembersOptions } from '../types'; import type { SearchSourceOptions } from './types'; type CustomContext = Record<string, unknown>; export type ChannelMemberSearchSourceFilterBuilderContext<C extends CustomContext = CustomContext> = { searchQuery?: string; } & C; export type ChannelMemberSearchSourceOptions = SearchSourceOptions & { /** Static base filters merged under the dynamically generated ones. */ filters?: MemberFilters; sort?: MemberSort; searchOptions?: Omit<QueryMembersOptions, 'limit' | 'offset'>; }; export declare class ChannelMemberSearchSource<TFilterContext extends CustomContext = CustomContext> extends BaseSearchSource<ChannelMemberResponse> { readonly type = "members"; channel: Channel; filters: MemberFilters | undefined; sort: MemberSort | undefined; searchOptions: Omit<QueryMembersOptions, 'limit' | 'offset'> | undefined; filterBuilder: FilterBuilder<MemberFilters, ChannelMemberSearchSourceFilterBuilderContext<TFilterContext>>; constructor(channel: Channel, options?: ChannelMemberSearchSourceOptions, filterBuilderOptions?: FilterBuilderOptions<MemberFilters, ChannelMemberSearchSourceFilterBuilderContext<TFilterContext>>); protected query(searchQuery: string, queryOptions?: SearchQueryOptions): Promise<{ items: ChannelMemberResponse[]; }>; protected filterQueryResults(items: ChannelMemberResponse[]): ChannelMemberResponse[]; } export {};