import { ProductsService } from './products.service';
import { CreateProductDto, UpdateProductDto, ReorderProductsDto } from './dto/create-product.dto';
export declare class ProductsController {
    private readonly productsService;
    constructor(productsService: ProductsService);
    findAll(activeOnly?: string): Promise<({
        _count: {
            sales: number;
        };
    } & {
        name: string;
        description: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        slug: string;
        indication: string;
        argumentKey: string | null;
        whyItWorks: string | null;
        imageUrl: string | null;
        sortOrder: number;
        unitSaleRule: number | null;
        unitSaleRuleLabel: string | null;
        salePrice: number;
    })[]>;
    getStats(): Promise<{
        id: string;
        name: string;
        indication: string;
        isActive: boolean;
        totalTransactions: number;
        totalQuantitySold: number;
    }[]>;
    findOne(id: string): Promise<{
        _count: {
            sales: number;
        };
    } & {
        name: string;
        description: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        slug: string;
        indication: string;
        argumentKey: string | null;
        whyItWorks: string | null;
        imageUrl: string | null;
        sortOrder: number;
        unitSaleRule: number | null;
        unitSaleRuleLabel: string | null;
        salePrice: number;
    }>;
    create(dto: CreateProductDto): Promise<{
        name: string;
        description: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        slug: string;
        indication: string;
        argumentKey: string | null;
        whyItWorks: string | null;
        imageUrl: string | null;
        sortOrder: number;
        unitSaleRule: number | null;
        unitSaleRuleLabel: string | null;
        salePrice: number;
    }>;
    update(id: string, dto: UpdateProductDto): Promise<{
        name: string;
        description: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        slug: string;
        indication: string;
        argumentKey: string | null;
        whyItWorks: string | null;
        imageUrl: string | null;
        sortOrder: number;
        unitSaleRule: number | null;
        unitSaleRuleLabel: string | null;
        salePrice: number;
    }>;
    reorder(dto: ReorderProductsDto): Promise<({
        _count: {
            sales: number;
        };
    } & {
        name: string;
        description: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        slug: string;
        indication: string;
        argumentKey: string | null;
        whyItWorks: string | null;
        imageUrl: string | null;
        sortOrder: number;
        unitSaleRule: number | null;
        unitSaleRuleLabel: string | null;
        salePrice: number;
    })[]>;
    remove(id: string): Promise<{
        name: string;
        description: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        slug: string;
        indication: string;
        argumentKey: string | null;
        whyItWorks: string | null;
        imageUrl: string | null;
        sortOrder: number;
        unitSaleRule: number | null;
        unitSaleRuleLabel: string | null;
        salePrice: number;
    }>;
}
