import { ActivityLogBaseUseCase, BaseDataDTO, BasePayloadDTO, BasePayloadPropsDTO } from '../../activity-log-base-use-case.dto'; import { ActivityLogBadgeDTO, ActivityLogDocumentDTO, ActivityLogGroupDTO, ActivityLogObjectDataDTO, ActivityLogObjectIdDTO, ActivityLogPayloadDTO, ActivityPropChangedDTO } from '../../dtos'; import { ACTIVITY_EVENT_TYPES, ACTIVITY_LOG_USE_CASES, ACTIVITY_OBJECT_TYPES } from '../../enums'; export type BadgeLogDto = ActivityLogBadgeDTO & { assignedTo?: ActivityLogGroupDTO; }; type BadgeChanges = ActivityPropChangedDTO; type PayloadDTO = BasePayloadPropsDTO & Omit, 'group' | 'community'>; type DataDTO = Omit, 'group' | 'community'> & { changes: BadgeChanges; badge?: ActivityLogBadgeDTO; }; export declare class CreateBadgeLog extends ActivityLogBaseUseCase { static readonly useCase: ACTIVITY_LOG_USE_CASES; static readonly eventType: ACTIVITY_EVENT_TYPES; static readonly objectType: ACTIVITY_OBJECT_TYPES; static toPayload(data: PayloadDTO): ActivityLogPayloadDTO; static toDocument({ eventTime, data, useCase, }: ActivityLogPayloadDTO): ActivityLogDocumentDTO; toObjectIds(): ActivityLogObjectIdDTO; toData(objectData: Partial): DataDTO; } export declare class UpdateBadgeLog extends CreateBadgeLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.UPDATE_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export declare class DeleteBadgeLog extends CreateBadgeLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.DELETE_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.DELETE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export declare class AssignBadgeLog extends CreateBadgeLog { static readonly useCase: ACTIVITY_LOG_USE_CASES.ASSIGN_GROUP_BADGE | ACTIVITY_LOG_USE_CASES.UNASSIGN_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export declare class UnassignBadgeLog extends AssignBadgeLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.UNASSIGN_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export {};