import { Repository } from 'typeorm';
import { PromotionPlanEntity, PromotionPlanTypes } from './entities/promotion-plan.entity';
import { CreatePromotionPlanDto } from './dto/create-promotion-plan.dto';
import { UpdatePromotionPlanDto } from './dto/update-promotion-plan.dto';
import { ErrorService } from '../../error/error.service';
import { UserEntity } from '../user/entities/user.entity';
import { DiscountService } from '../discount/discount.service';
import { SmsService } from '../../sms/sms.service';
export declare class PromotionPlanService {
    private promotionPlanRepository;
    private discountService;
    private error;
    private sms;
    constructor(promotionPlanRepository: Repository<PromotionPlanEntity>, discountService: DiscountService, error: ErrorService, sms: SmsService);
    getAll(page?: number, limit?: number, filters?: any, sorts?: any): Promise<{
        items: PromotionPlanEntity[];
        pagination: {
            itemsPerPage: number;
            totalItems: number;
            currentPage: number;
            totalPages: number;
        };
    }>;
    getById(id: number): Promise<PromotionPlanEntity>;
    create(dto: CreatePromotionPlanDto): Promise<boolean>;
    updateById(dto: UpdatePromotionPlanDto): Promise<void>;
    deletePromotionPlan(id: number): Promise<import("typeorm").UpdateResult>;
    runPromotion(type: PromotionPlanTypes, user: UserEntity): Promise<PromotionPlanEntity>;
    private _runSignupDiscount;
}
