import { PointsService } from './points.service';
import { PointsSchedulerService } from './points-scheduler.service';
import { PointsTransaction } from './points-transaction.entity';
import { PointsActionType } from './points-action-type.entity';
import { User } from '../auth/user.entity';
export declare class PointsController {
    private readonly pointsService;
    private readonly pointsSchedulerService;
    constructor(pointsService: PointsService, pointsSchedulerService: PointsSchedulerService);
    awardProfileCompletionPoints(technicianId: number): Promise<{
        success: boolean;
    }>;
    awardAppointmentAcceptancePoints(body: {
        technicianId: number;
        appointmentId: number;
    }): Promise<{
        success: boolean;
    }>;
    deductAppointmentCancellationPoints(body: {
        technicianId: number;
        appointmentId: number;
    }): Promise<{
        success: boolean;
    }>;
    awardEquipmentValidationPoints(body: {
        technicianId: number;
        serviceOrderId: number;
    }): Promise<{
        success: boolean;
    }>;
    getPointsHistory(technicianId: number, user: User): Promise<PointsTransaction[]>;
    getPointsBalance(technicianId: number, user: User): Promise<{
        totalPoints: number;
        availablePoints: number;
        pendingPoints: number;
        balance: number;
    }>;
    getMyPointsHistory(user: User): Promise<PointsTransaction[]>;
    getMyPointsBalance(user: User): Promise<{
        totalPoints: number;
        availablePoints: number;
        pendingPoints: number;
        balance: number;
    }>;
    getActionTypes(): Promise<PointsActionType[]>;
    getPendingPointsDetails(technicianId: number, user: User): Promise<PointsTransaction[]>;
    getAvailablePointsDetails(technicianId: number, user: User): Promise<PointsTransaction[]>;
    getMyPendingPoints(user: User): Promise<PointsTransaction[]>;
    getMyAvailablePoints(user: User): Promise<PointsTransaction[]>;
    triggerPointsRelease(user: User): Promise<{
        processed: number;
        message: string;
    }>;
    clearDebugLog(user: User): Promise<{
        message: string;
    }>;
}
