import { ProductRepository } from "../repositories/product.repository";
import { CreateProductDto } from "../../application/dtos/create-product.dto";
export declare class ProductController {
    private readonly productRepository;
    constructor(productRepository: ProductRepository);
    findAll(): Promise<import("../../domain/entities/product.entity").Product[]>;
    findByCharacter(characterId: number): Promise<any[]>;
    findOne(id: number): Promise<import("../../domain/entities/product.entity").Product | null>;
    buyProduct(data: {
        characterId: number;
        productId: number;
    }): Promise<import("../../../characters/domain/entities/character-product.entity").CharacterProduct>;
    create(dto: CreateProductDto): Promise<import("../../domain/entities/product.entity").Product>;
    update(id: number, data: any): Promise<import("../../domain/entities/product.entity").Product>;
    remove(id: number): Promise<{
        message: string;
    }>;
}
