import { ItemService } from './item.service';
import { AddItemDto, EditItemDto, FindByCategoryDto, GetItemListDto, GroupedByCategoryDto, ItemCsvDto, simillarDto, isAvailableDto } from './dto/item.dto';
export declare class ItemController {
    private readonly itemService;
    constructor(itemService: ItemService);
    uploadGroceryCsv(req: any, dto: ItemCsvDto): Promise<{
        data: string;
    }>;
    getListOfItems(req: any, query: GetItemListDto): Promise<{
        success: boolean;
        message: string;
        data: any;
        pagination: {
            total: any;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    addItem(req: any, dto: AddItemDto): Promise<{
        success: boolean;
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/item.schema").ItemItems, {}, {}> & import("./schema/item.schema").ItemItems & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    editItem(req: any, id: string, dto: EditItemDto): Promise<{
        success: boolean;
        message: string;
        data: import("mongoose").FlattenMaps<{
            type?: string;
            store_id: string;
            category_id: string;
            name: string;
            description: string;
            size: string;
            quantity: string;
            unit: string;
            price: number;
            discounted_price: number;
            discount_type: string;
            discount_value: any;
            discount_start_date: string;
            discount_end_date: string;
            is_discount_active: boolean;
            imageUrl: string;
            is_deleted: boolean;
            stock: number;
            barcode_id: string;
            barcode_url: string;
            admin_commission: number;
            is_available: boolean;
            availability_status: string;
            is_hidden: boolean;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getItemDetails(req: any, id: string): Promise<{
        success: boolean;
        message: string;
        data: any;
    }>;
    deleteItem(req: any, id: string): Promise<{
        success: boolean;
        message: string;
    }>;
    getByCategory(req: any, dto: simillarDto): Promise<{
        success: boolean;
        message: string;
        data?: undefined;
    } | {
        success: boolean;
        data: any[];
        message?: undefined;
    }>;
    findByCategory(query: FindByCategoryDto, req: any): Promise<{
        total: any;
        page: number;
        limit: number;
        data: import("bson").Document[];
    }>;
    getGroceryItemsGroupedByCategory(req: any, query: GroupedByCategoryDto): Promise<{
        success: boolean;
        message: string;
        data: any[];
        pagination: {
            total: any;
            page: number;
            limit: number;
            totalPages: number;
        };
    } | {
        success: boolean;
        message: string;
    }>;
    UpdateIsAvailable(id: string, body: isAvailableDto): Promise<{
        message: string;
    }>;
}
