import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { PosPromotionRule } from './entities/pos-promotion-rule.entity';
import { PosPromotionCondition } from './entities/pos-promotion-condition.entity';
import { PosSaleDiscount } from './entities/pos-sale-discount.entity';
export declare class PosPromotionsService extends BaseTenantService<PosPromotionRule> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof PosPromotionRule;
    constructor(tenantConnectionService: TenantConnectionService);
    listRules(filters?: {
        store_id?: number;
        status?: string;
        promotion_type?: string;
    }): Promise<PosPromotionRule[]>;
    getRule(id: number): Promise<PosPromotionRule>;
    createRule(data: any): Promise<PosPromotionRule>;
    updateRule(id: number, data: any): Promise<PosPromotionRule>;
    listConditions(ruleId: number): Promise<PosPromotionCondition[]>;
    evaluatePromotions(data: {
        store_id?: number;
        subtotal: number;
        items: Array<{
            product_id?: number;
            variant_id?: number;
            quantity: number;
            unit_price: number;
            line_total: number;
        }>;
        customer_id?: number;
    }): Promise<{
        subtotal: number;
        total_discount: number;
        final_amount: number;
        applied_discounts: any[];
    }>;
    listSaleDiscounts(saleId: number): Promise<PosSaleDiscount[]>;
}
