import { CreateProductDto } from './dto/create-product.dto';
import { UpdateProductDto } from './dto/update-product.dto';
import { PrismaService } from 'src/prisma/prisma.service';
export declare class ProductsService {
    private prisma;
    constructor(prisma: PrismaService);
    private readonly logger;
    create(createProductDto: CreateProductDto): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        title: string;
        description: string;
        categoryId: number;
        brand: string;
        brandId: string;
        cost: number;
        modifier: number;
        price: number;
        syncId: string | null;
        syncState: string;
        syncEnabled: boolean;
        syncLastUpdated: Date | null;
        syncLastSynced: Date | null;
        syncProviderId: number | null;
    }>;
    findAll(skip?: number, take?: number, sortBy?: string, sortOrder?: string, search?: string): Promise<[({
        id: number;
        createdAt: Date;
        updatedAt: Date;
        title: string;
        description: string;
        categoryId: number;
        brand: string;
        brandId: string;
        cost: number;
        modifier: number;
        price: number;
        syncId: string | null;
        syncState: string;
        syncEnabled: boolean;
        syncLastUpdated: Date | null;
        syncLastSynced: Date | null;
        syncProviderId: number | null;
    } | {
        id: number;
        createdAt: Date;
        updatedAt: Date;
        title: string;
        description: string;
        categoryId: number;
        brand: string;
        brandId: string;
        cost: number;
        modifier: number;
        price: number;
        syncId: string | null;
        syncState: string;
        syncEnabled: boolean;
        syncLastUpdated: Date | null;
        syncLastSynced: Date | null;
        syncProviderId: number | null;
    })[][], number, number]>;
    findAllSimple(params: any): Promise<{
        id: number;
        title: string;
        brandId: string;
    }[]>;
    findOne(id: number): Promise<({
        category: {
            id: number;
            name: string;
            createdAt: Date;
            updatedAt: Date;
        };
    } & {
        id: number;
        createdAt: Date;
        updatedAt: Date;
        title: string;
        description: string;
        categoryId: number;
        brand: string;
        brandId: string;
        cost: number;
        modifier: number;
        price: number;
        syncId: string | null;
        syncState: string;
        syncEnabled: boolean;
        syncLastUpdated: Date | null;
        syncLastSynced: Date | null;
        syncProviderId: number | null;
    }) | null>;
    update(id: number, updateProductDto: UpdateProductDto): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        title: string;
        description: string;
        categoryId: number;
        brand: string;
        brandId: string;
        cost: number;
        modifier: number;
        price: number;
        syncId: string | null;
        syncState: string;
        syncEnabled: boolean;
        syncLastUpdated: Date | null;
        syncLastSynced: Date | null;
        syncProviderId: number | null;
    }>;
    remove(id: number): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        title: string;
        description: string;
        categoryId: number;
        brand: string;
        brandId: string;
        cost: number;
        modifier: number;
        price: number;
        syncId: string | null;
        syncState: string;
        syncEnabled: boolean;
        syncLastUpdated: Date | null;
        syncLastSynced: Date | null;
        syncProviderId: number | null;
    }>;
}
