import IFirebaseData from '../interfaces/firebase-data.interface'; /** * Provee un funcionalidad para serializar el objeto compatible con Firebase. */ export interface ISerializable { /** * Obtiene la data a almacenar el Firebase. */ serialize(): IFirebaseData; } /** * Constructor de una clase serializable. * * @param data Data de firebase. */ export declare type IUnserializable = new (data: IFirebaseData) => ISerializable; /** * Clase base para generar modelos serializables con datos basados en una interfaz. * * @since 0.2.0 * @author Nelson Martell */ export declare abstract class SerializableModel implements ISerializable { readonly id: string | undefined; /** * Almacén en crudo de la data de firestore. */ protected readonly rawData: T; constructor(rawData: T, id: string | undefined); serialize(): T; }