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; OnFriendApplicationAccepted: Map; OnFriendApplicationRejected: Map; OnFriendAdded: Map; OnFriendDeleted: Map; OnFriendInfoChanged: Map; OnBlackAdded: Map; OnBlackDeleted: Map; }; 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; getDesignatedBlackUserAndTrigger: (event: CbEvents.OnBlackAdded | CbEvents.OnBlackDeleted, blackUserID: string, operationID: string, activeTrigger?: boolean) => Promise; parseMessageAndTrigger: (message: SdkWsProto.MsgData, operationID: string) => Promise; } export default RelationTrigger;