import { ActivityLogBaseUseCase, BasePayloadPropsDTO } from '../../activity-log-base-use-case.dto';
import { ActivityLogDocumentDTO, ActivityLogGroupDTO, ActivityLogGroupSetDTO, ActivityLogObjectDataDTO, ActivityLogObjectIdDTO, ActivityLogPayloadDTO, ActivityLogUserDTO, InvitationLogDTO } from '../../dtos';
import { ACTIVITY_EVENT_TYPES, ACTIVITY_LOG_USE_CASES, ACTIVITY_OBJECT_TYPES } from '../../enums';
type PayloadDTO = BasePayloadPropsDTO & {
    invitation: InvitationLogDTO;
    group: ActivityLogGroupDTO;
    groupSet: ActivityLogGroupSetDTO;
};
type DataDTO = {
    actor?: Partial<ActivityLogUserDTO>;
    invitation: InvitationLogDTO;
    inviter?: Partial<ActivityLogUserDTO>;
    invitee?: Partial<ActivityLogUserDTO & {
        email: string;
    }>;
    group: ActivityLogGroupDTO;
    groupSet: ActivityLogGroupSetDTO;
};
export declare class BaseInvitationActionLog extends ActivityLogBaseUseCase<DataDTO> {
    static readonly useCase: ACTIVITY_LOG_USE_CASES;
    static readonly eventType: ACTIVITY_EVENT_TYPES;
    static readonly objectType: ACTIVITY_OBJECT_TYPES;
    static toPayload(data: PayloadDTO): ActivityLogPayloadDTO<PayloadDTO>;
    static toDocument({ eventTime, data, }: ActivityLogPayloadDTO<PayloadDTO>): ActivityLogDocumentDTO<DataDTO>;
    toObjectIds(): ActivityLogObjectIdDTO;
    toData(objectData: ActivityLogObjectDataDTO): DataDTO;
}
export {};
