import type { AbstractDto, AbstractTranslationDto } from './dto/abstract.dto'; import { LanguageCode } from '../constants'; /** * Abstract DTO-able Entity * * @description Base class that provides toDto functionality without any database fields. * Use this for view entities or other entities that don't need createdAt/updatedAt fields. */ export declare abstract class AbstractDtoEntity { translations?: AbstractTranslationEntity[]; toDto(options?: O): DTO; } /** * Abstract Entity * * @description This class is an abstract class for all entities. * It's experimental and recommended using it only in microservice architecture, * otherwise just delete and use your own entity. * Extends AbstractDtoEntity and adds createdAt/updatedAt timestamp fields. */ export declare abstract class AbstractBaseEntity extends AbstractDtoEntity { createdAt: Date; updatedAt: Date; } export declare class AbstractEntity extends AbstractBaseEntity { id: number; } export declare class AbstractTranslationEntity extends AbstractEntity { languageCode: LanguageCode; } export declare class AbstractUuidPrimaryEntity extends AbstractBaseEntity { id: string; generateId(): void; }