import { ActivityLogBaseUseCase, BaseDataDTO, BasePayloadDTO, BasePayloadPropsDTO } from '../../activity-log-base-use-case.dto'; import { ActivityLogDocumentDTO, ActivityLogObjectDataDTO, ActivityLogObjectIdDTO, ActivityLogPayloadDTO, ChangeBaseDTO } from '../../dtos'; import { ACTIVITY_EVENT_TYPES, ACTIVITY_LOG_USE_CASES, ACTIVITY_OBJECT_TYPES } from '../../enums'; type QuestionStates = { question: string; isRequired: boolean; }; type PayloadDTO = BasePayloadPropsDTO & Pick, 'group' | 'originalState' | 'currentState'>; type DataDTO = Pick & { changes: { membershipQuestion: ChangeBaseDTO; }; }; export declare class BaseMembershipQuestionLog extends ActivityLogBaseUseCase { static readonly useCase: ACTIVITY_LOG_USE_CASES.CREATE_MEMBERSHIP_QUESTION | ACTIVITY_LOG_USE_CASES.UPDATE_MEMBERSHIP_QUESTION | ACTIVITY_LOG_USE_CASES.DELETE_MEMBERSHIP_QUESTION; static readonly eventType: ACTIVITY_EVENT_TYPES.CREATE | ACTIVITY_EVENT_TYPES.UPDATE | ACTIVITY_EVENT_TYPES.DELETE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; static toPayload(data: PayloadDTO): ActivityLogPayloadDTO; static toDocument(payload: ActivityLogPayloadDTO): ActivityLogDocumentDTO; toObjectIds(): ActivityLogObjectIdDTO; toData(objectData: ActivityLogObjectDataDTO): DataDTO; } export declare class CreateMembershipQuestionLog extends BaseMembershipQuestionLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.CREATE_MEMBERSHIP_QUESTION; static readonly eventType = ACTIVITY_EVENT_TYPES.CREATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; } export declare class UpdateMembershipQuestionLog extends BaseMembershipQuestionLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.UPDATE_MEMBERSHIP_QUESTION; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; } export declare class DeleteMembershipQuestionLog extends BaseMembershipQuestionLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.DELETE_MEMBERSHIP_QUESTION; static readonly eventType = ACTIVITY_EVENT_TYPES.DELETE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; } export {};