UNPKG

stream-chat

Version:

JS SDK for the Stream Chat API

66 lines (65 loc) 2.75 kB
import { Reminder } from './Reminder'; import { StateStore } from '../store'; import { ReminderPaginator } from '../pagination'; import { WithSubscriptions } from '../utils/WithSubscriptions'; import type { ReminderResponseBaseOrResponse } from './Reminder'; import type { StreamChat } from '../client'; import type { CreateReminderOptions, Event, EventTypes, LocalMessage, MessageResponse, ReminderResponse } from '../types'; export declare const DEFAULT_REMINDER_MANAGER_CONFIG: ReminderManagerConfig; type MessageId = string; export type ReminderEvent = { cid: string; created_at: string; message_id: MessageId; reminder: ReminderResponse; type: EventTypes; user_id: string; }; export type ReminderManagerState = { reminders: Map<MessageId, Reminder>; }; export type ReminderManagerConfig = { scheduledOffsetsMs: number[]; stopTimerRefreshBoundaryMs: number; }; export type ReminderManagerOptions = { client: StreamChat; config?: Partial<ReminderManagerConfig>; }; export declare class ReminderManager extends WithSubscriptions { private client; configState: StateStore<ReminderManagerConfig>; state: StateStore<ReminderManagerState>; paginator: ReminderPaginator; constructor({ client, config }: ReminderManagerOptions); updateConfig(config: Partial<ReminderManagerConfig>): void; get stopTimerRefreshBoundaryMs(): number; get scheduledOffsetsMs(): number[]; get reminders(): Map<string, Reminder>; getFromState(messageId: MessageId): Reminder | undefined; upsertToState: ({ data, overwrite, }: { data: ReminderResponseBaseOrResponse; overwrite?: boolean; }) => Reminder | undefined; removeFromState: (messageId: string) => void; hydrateState: (messages: MessageResponse[] | LocalMessage[]) => void; initTimers: () => void; clearTimers: () => void; static isReminderWsEventPayload: (event: Event) => event is ReminderEvent; registerSubscriptions: () => void; private subscribeReminderCreated; private subscribeReminderUpdated; private subscribeReminderDeleted; private subscribeMessageDeleted; private subscribeMessageUndeleted; private subscribeNotificationReminderDue; private subscribePaginatorStateUpdated; private subscribeConfigStateUpdated; upsertReminder: (options: CreateReminderOptions) => Promise<Reminder | undefined>; createReminder: (options: CreateReminderOptions) => Promise<Reminder | undefined>; updateReminder: (options: CreateReminderOptions) => Promise<Reminder | undefined>; deleteReminder: (messageId: MessageId) => Promise<void>; queryNextReminders: () => Promise<void>; queryPreviousReminders: () => Promise<void>; } export {};