@trycourier/courier-ui-inbox
Version:
Inbox components for the Courier web UI
43 lines (42 loc) • 1.76 kB
TypeScript
import { InboxMessage } from '../../@trycourier/courier-js/src';
import { InboxDataSet } from '../types/inbox-data-set';
import { CourierInboxDataStoreListener } from './datastore-listener';
import { CourierInboxFeedType } from '../types/feed-type';
export declare class CourierInboxDatastore {
private static instance;
private _inboxDataSet?;
private _archiveDataSet?;
private _dataStoreListeners;
private _unreadCount?;
private isPaginatingInbox;
private isPaginatingArchive;
static get shared(): CourierInboxDatastore;
get unreadCount(): number;
get inboxDataSet(): InboxDataSet;
get archiveDataSet(): InboxDataSet;
addDataStoreListener(listener: CourierInboxDataStoreListener): void;
removeDataStoreListener(listener: CourierInboxDataStoreListener): void;
private fetchDataSet;
private fetchUnreadCount;
load(props?: {
feedType: CourierInboxFeedType;
canUseCache: boolean;
}): Promise<void>;
private connectSocket;
private getMessage;
fetchNextPageOfMessages(props: {
feedType: CourierInboxFeedType;
}): Promise<InboxDataSet | null>;
private applyLocalMessageChange;
readMessage(message: InboxMessage, canCallApi?: boolean): Promise<void>;
unreadMessage(message: InboxMessage, canCallApi?: boolean): Promise<void>;
openMessage(message: InboxMessage, canCallApi?: boolean): Promise<void>;
clickMessage(message: InboxMessage, canCallApi?: boolean): Promise<void>;
archiveMessage(message: InboxMessage, canCallApi?: boolean): Promise<void>;
readAllMessages(canCallApi?: boolean): Promise<void>;
private findInsertIndex;
private addPage;
private addMessage;
private removeMessage;
private updateMessage;
}