import { DirectMessage, FriendRequest, Friendship, PlayerTravelUnlock, SocialNotification, UserBlock, UserReport, } from './social.entities'; export const SOCIAL_STORE = 'SOCIAL_STORE'; export interface SocialStore { listFriendships(userId: bigint): Promise; findFriendship(userLowId: bigint, userHighId: bigint): Promise; createFriendship(userLowId: bigint, userHighId: bigint): Promise; deleteFriendship(userLowId: bigint, userHighId: bigint): Promise; findPendingFriendRequest(requesterId: bigint, recipientId: bigint): Promise; createFriendRequest(requesterId: bigint, recipientId: bigint, expiresAt: Date): Promise; findFriendRequest(id: bigint): Promise; saveFriendRequest(request: FriendRequest): Promise; cancelPendingRequestsBetween(userA: bigint, userB: bigint): Promise; listFriendRequests(userId: bigint): Promise; createBlock(userId: bigint, blockedUserId: bigint): Promise; deleteBlock(userId: bigint, blockedUserId: bigint): Promise; isBlocked(userId: bigint, blockedUserId: bigint): Promise; listBlocks(userId: bigint): Promise; createDirectMessage(input: Pick): Promise; listDirectMessages(userA: bigint, userB: bigint, limit: number, before?: Date): Promise; markDirectMessagesRead(readerId: bigint, otherUserId: bigint): Promise; listConversations(userId: bigint): Promise; countUnreadDirectMessages(userId: bigint): Promise; createReport(input: Pick): Promise; createUnlock(userId: bigint, destinationId: string): Promise; listUnlocks(userId: bigint): Promise; createNotification(input: Pick): Promise; listNotifications(userId: bigint, limit: number, before?: Date): Promise; markNotificationRead(userId: bigint, id: bigint): Promise; markAllNotificationsRead(userId: bigint): Promise; countUnreadNotifications(userId: bigint): Promise; purgeUsers(userIds: bigint[]): Promise; cleanupExpired(now: Date): Promise; }