import { ProductService } from './product.service'; import { Prisma } from '@prisma/client'; export declare class ProductController { private readonly productService; constructor(productService: ProductService); getProduct(id: string): Promise<({ prices: ({ source: { id: number; name: string; url: string; logo: string | null; lastScraped: Date | null; createdAt: Date; updatedAt: Date; }; } & { id: number; createdAt: Date; sourceId: number; regularPrice: number; discountedPrice: number | null; discountPercentage: number | null; unitPrice: string | null; promotionType: string | null; promotionStart: Date | null; promotionEnd: Date | null; vatIncluded: boolean; lastUpdated: Date; productId: number; })[]; } & { id: number; name: string; createdAt: Date; updatedAt: Date; description: string | null; category: string; availability: boolean; sourceProductId: string | null; sourceId: number; }) | null>; getProducts(skip?: string, take?: string, search?: string, maxPrice?: string): Promise<({ prices: ({ source: { id: number; name: string; url: string; logo: string | null; lastScraped: Date | null; createdAt: Date; updatedAt: Date; }; } & { id: number; createdAt: Date; sourceId: number; regularPrice: number; discountedPrice: number | null; discountPercentage: number | null; unitPrice: string | null; promotionType: string | null; promotionStart: Date | null; promotionEnd: Date | null; vatIncluded: boolean; lastUpdated: Date; productId: number; })[]; } & { id: number; name: string; createdAt: Date; updatedAt: Date; description: string | null; category: string; availability: boolean; sourceProductId: string | null; sourceId: number; })[]>; createProduct(data: Prisma.ProductCreateInput): Promise<{ prices: ({ source: { id: number; name: string; url: string; logo: string | null; lastScraped: Date | null; createdAt: Date; updatedAt: Date; }; } & { id: number; createdAt: Date; sourceId: number; regularPrice: number; discountedPrice: number | null; discountPercentage: number | null; unitPrice: string | null; promotionType: string | null; promotionStart: Date | null; promotionEnd: Date | null; vatIncluded: boolean; lastUpdated: Date; productId: number; })[]; } & { id: number; name: string; createdAt: Date; updatedAt: Date; description: string | null; category: string; availability: boolean; sourceProductId: string | null; sourceId: number; }>; updateProduct(id: string, data: Prisma.ProductUpdateInput): Promise<{ prices: ({ source: { id: number; name: string; url: string; logo: string | null; lastScraped: Date | null; createdAt: Date; updatedAt: Date; }; } & { id: number; createdAt: Date; sourceId: number; regularPrice: number; discountedPrice: number | null; discountPercentage: number | null; unitPrice: string | null; promotionType: string | null; promotionStart: Date | null; promotionEnd: Date | null; vatIncluded: boolean; lastUpdated: Date; productId: number; })[]; } & { id: number; name: string; createdAt: Date; updatedAt: Date; description: string | null; category: string; availability: boolean; sourceProductId: string | null; sourceId: number; }>; }