import { CreateServiceDto } from './dto/create-service.dto';
import { UpdateServiceDto } from './dto/update-service.dto';
import { ModelService } from '../model/model.service';
import { Types } from 'mongoose';
import { CommonService } from '../common/common.service';
export declare class ServiceService {
    private readonly model;
    private readonly commonService;
    constructor(model: ModelService, commonService: CommonService);
    private assertValidDeposit;
    create(dto: CreateServiceDto, salonId: string): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/service.schema").Service, {}, {}> & import("../model/schemas/service.schema").Service & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }>;
    duplicate(serviceId: string, salonId: string): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/service.schema").Service, {}, {}> & import("../model/schemas/service.schema").Service & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }>;
    private generateDuplicateName;
    findAll(salonId: string, fields?: string[], page?: number, limit?: number, status?: 'active' | 'inactive'): Promise<(import("mongoose").FlattenMaps<import("../model/schemas/service.schema").Service> & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    })[]>;
    findbyCategory(salonId: string, fields?: string[], page?: number, limit?: number): Promise<{
        data: {
            category: string;
            categoryId: string;
            description: string;
            services: any[];
        }[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    findOne(id: string): Promise<(import("mongoose").FlattenMaps<import("../model/schemas/service.schema").Service> & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }) | null>;
    update(id: string, dto: UpdateServiceDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/service.schema").Service, {}, {}> & import("../model/schemas/service.schema").Service & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }>;
    private addServiceToStylists;
    remove(id: string): Promise<void>;
    updateServiceImage(id: string, imageUrl: string): Promise<{
        imageUrl: string;
    }>;
    getTrainingData(salonId: string): Promise<import("mongoose").FlattenMaps<import("../model/schemas/salon.schema").Salon> & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }>;
    updateTrainingData(salonId: string, trainingData: string): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/salon.schema").Salon, {}, {}> & import("../model/schemas/salon.schema").Salon & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }>;
}
