import { ErrorService } from '../../error/error.service';
import { Repository } from 'typeorm';
import { DiscountEntity } from './entities/discount.entity';
import { CreateDiscountDto } from './dto/create-discount.dto';
import { UpdateDiscountDto } from './dto/update-discount.dto';
import { UserEntity } from '../user/entities/user.entity';
export declare class DiscountService {
    private discountRepository;
    private error;
    constructor(discountRepository: Repository<DiscountEntity>, error: ErrorService);
    getAll(page?: number, limit?: number, filters?: any, sorts?: any): Promise<{
        items: DiscountEntity[];
        pagination: {
            itemsPerPage: number;
            totalItems: number;
            currentPage: number;
            totalPages: number;
        };
    }>;
    getById(id: number): Promise<DiscountEntity>;
    statistic(): Promise<{
        used: number;
        unUsed: number;
        total: number;
        service: number;
        product: number;
        both: number;
    }>;
    exportExcel(filters?: any): Promise<any>;
    create(dto: CreateDiscountDto): Promise<any[]>;
    updateById(dto: UpdateDiscountDto): Promise<void>;
    private _generateUniqueCouponCode;
    private _existByCouponCode;
    calDiscountByCouponCode(code: string, isService?: boolean, orderTotal?: number, totalWage?: number, runValidations?: boolean, user?: UserEntity): Promise<number>;
    deleteDiscount(id: number): Promise<import("typeorm").UpdateResult>;
}
