import { Channel, NormalChannelInfo, UpdatableChannelDataStore } from '../channel'; import { UpdatableChatListStore } from '../chat'; import { OpenChannel, OpenChannelInfo } from '../openlink'; import { NormalChannelUserInfo, OpenChannelUserInfo } from '../user'; export interface ClientDataLoadResult { value: T; /** * true if value is not loaded or should be updated. */ shouldUpdate: boolean; } export declare type AsyncClientDataLoadResult = Promise>; /** * Load various client data from memory or disk file */ export interface ClientDataLoader { loadChatListStore(channel: Channel): AsyncClientDataLoadResult; loadNormalChannelStore(channel: Channel, lastUpdate?: number): AsyncClientDataLoadResult>; loadOpenChannelStore(channel: OpenChannel, lastUpdate?: number): AsyncClientDataLoadResult>; }