import { PosProductMediaService } from './pos-product-media.service';
import { CreatePosProductImageDto, CreatePosProductBundleDto, UpdatePosProductBundleDto } from './dto/pos-catalog.dto';
export declare class PosProductMediaController {
    private readonly mediaService;
    constructor(mediaService: PosProductMediaService);
    listImages(productId: number, variantId?: string): Promise<import("./entities/pos-product-image.entity").PosProductImage[]>;
    createImage(dto: CreatePosProductImageDto): Promise<import("./entities/pos-product-image.entity").PosProductImage>;
    updateImage(id: number, dto: Partial<CreatePosProductImageDto>): Promise<import("./entities/pos-product-image.entity").PosProductImage>;
    deleteImage(id: number): Promise<{
        deleted: boolean;
    }>;
    listBundles(isActive?: string, page?: string, limit?: string): Promise<{
        items: import("./entities/pos-product-bundle.entity").PosProductBundle[];
        total: number;
        page: number;
        limit: number;
    }>;
    getBundle(id: number): Promise<{
        items: import("./entities/pos-product-bundle.entity").PosProductBundleItem[];
        id: number;
        bundle_code: string;
        name: string;
        product_id: number;
        description: string;
        bundle_price: number;
        is_active: boolean;
        version: number;
        created_at: Date;
        updated_at: Date;
        deleted_at: Date;
    }>;
    createBundle(dto: CreatePosProductBundleDto): Promise<{
        items: import("./entities/pos-product-bundle.entity").PosProductBundleItem[];
        id: number;
        bundle_code: string;
        name: string;
        product_id: number;
        description: string;
        bundle_price: number;
        is_active: boolean;
        version: number;
        created_at: Date;
        updated_at: Date;
        deleted_at: Date;
    }>;
    updateBundle(id: number, dto: UpdatePosProductBundleDto): Promise<{
        items: import("./entities/pos-product-bundle.entity").PosProductBundleItem[];
        id: number;
        bundle_code: string;
        name: string;
        product_id: number;
        description: string;
        bundle_price: number;
        is_active: boolean;
        version: number;
        created_at: Date;
        updated_at: Date;
        deleted_at: Date;
    }>;
    deleteBundle(id: number): Promise<{
        deleted: boolean;
    }>;
}
