import Product from "../entities/product"; import IFactory from "../interfaces/factory"; import type Model from "../model"; import { TProduct } from "../types"; import ProductImageFactory from "./product-image"; import ProductOptionFactory from "./product-option"; import ProductSpecialFactory from "./product-special"; export default class ProductFactory implements IFactory { private model; constructor(model: Model); option: ProductOptionFactory; special: ProductSpecialFactory; image: ProductImageFactory; create(): Product; extract(criteria: Partial): Promise; extractAll(criteria: Partial): Promise; private createEntityFromRowData; }