UNPKG

stream-chat

Version:

JS SDK for the Stream Chat API

30 lines (29 loc) 1.58 kB
import { BaseSearchSource, type SearchQueryOptions } from './BaseSearchSource'; import { FilterBuilder, type FilterBuilderOptions } from '../pagination'; import type { StreamChat } from '../client'; import type { UserFilters, UserOptions, UserResponse, UserSort } from '../types'; import type { SearchSourceOptions } from './types'; type CustomContext = Record<string, unknown>; export type UserSearchSourceFilterBuilderContext<C extends CustomContext = CustomContext> = { searchQuery?: string; } & C; export type UserSearchSourceOptions = SearchSourceOptions & { /** Static base filters merged under the dynamically generated ones. */ filters?: UserFilters; sort?: UserSort; searchOptions?: Omit<UserOptions, 'limit' | 'offset'>; }; export declare class UserSearchSource<TFilterContext extends CustomContext = CustomContext> extends BaseSearchSource<UserResponse> { readonly type = "users"; client: StreamChat; filters: UserFilters | undefined; sort: UserSort | undefined; searchOptions: Omit<UserOptions, 'limit' | 'offset'> | undefined; filterBuilder: FilterBuilder<UserFilters, UserSearchSourceFilterBuilderContext<TFilterContext>>; constructor(client: StreamChat, options?: UserSearchSourceOptions, filterBuilderOptions?: FilterBuilderOptions<UserFilters, UserSearchSourceFilterBuilderContext<TFilterContext>>); protected query(searchQuery: string, queryOptions?: SearchQueryOptions): Promise<{ items: UserResponse[]; }>; protected filterQueryResults(items: UserResponse[]): UserResponse[]; } export {};