@openim/client-sdk
Version:
JavaScript/TypeScript Client SDK for OpenIM
31 lines (30 loc) • 1.91 kB
TypeScript
import { CbEvents } from '../../../constant/callback';
import { SdkWsProto } from '@openim/protocol';
import { MixinApiService } from '../..';
import RelationCache from './cache';
import RelationSyncer from './syncer';
export type RelationEventTypes = CbEvents.OnFriendApplicationAdded | CbEvents.OnFriendApplicationAccepted | CbEvents.OnFriendApplicationRejected | CbEvents.OnFriendAdded | CbEvents.OnFriendDeleted | CbEvents.OnFriendInfoChanged | CbEvents.OnBlackAdded | CbEvents.OnBlackDeleted;
declare class RelationTrigger {
private instance;
cache: RelationCache;
syncer: RelationSyncer;
triggeredEventMap: {
OnFriendApplicationAdded: Map<string, boolean>;
OnFriendApplicationAccepted: Map<string, boolean>;
OnFriendApplicationRejected: Map<string, boolean>;
OnFriendAdded: Map<string, boolean>;
OnFriendDeleted: Map<string, boolean>;
OnFriendInfoChanged: Map<string, boolean>;
OnBlackAdded: Map<string, boolean>;
OnBlackDeleted: Map<string, boolean>;
};
constructor(instance: MixinApiService);
sync: (operationID: string) => Promise<(void | string[])[]>;
reset: () => void;
setTriggeredEventMap: (event: RelationEventTypes, key: string) => void;
checkShouldTrigger: (event: RelationEventTypes, key: string) => boolean;
getDesignatedFriendApplicationAndTrigger: (event: CbEvents.OnFriendApplicationAdded | CbEvents.OnFriendApplicationAccepted | CbEvents.OnFriendApplicationRejected, fromToUserID: SdkWsProto.FromToUserID, operationID: string, activeTrigger?: boolean) => Promise<void>;
getDesignatedBlackUserAndTrigger: (event: CbEvents.OnBlackAdded | CbEvents.OnBlackDeleted, blackUserID: string, operationID: string, activeTrigger?: boolean) => Promise<void>;
parseMessageAndTrigger: (message: SdkWsProto.MsgData, operationID: string) => Promise<void>;
}
export default RelationTrigger;