import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { PosProductImage } from './entities/pos-product-image.entity';
import { PosProductBundle, PosProductBundleItem } from './entities/pos-product-bundle.entity';
export declare class PosProductMediaService extends BaseTenantService<PosProductImage> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof PosProductImage;
    constructor(tenantConnectionService: TenantConnectionService);
    listImages(productId: number, variantId?: number): Promise<PosProductImage[]>;
    createImage(data: Partial<PosProductImage>): Promise<PosProductImage>;
    updateImage(id: number, data: Partial<PosProductImage>): Promise<PosProductImage>;
    deleteImage(id: number): Promise<{
        deleted: boolean;
    }>;
    findAllBundles(query: {
        is_active?: boolean;
        page?: number;
        limit?: number;
    }): Promise<{
        items: PosProductBundle[];
        total: number;
        page: number;
        limit: number;
    }>;
    findOneBundle(id: number): Promise<{
        items: 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(data: any): Promise<{
        items: 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, data: any): Promise<{
        items: 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;
    }>;
}
