import { KpiAssessmentStatus } from '@prisma/client';
export declare class CreateAssignmentDto {
    cycleId: string;
    employeeId?: string;
    weight: number;
    name: string;
    description?: string;
    baseTarget?: string;
    stretchTarget?: string;
    unit?: string;
    targetValue?: number;
    dependencies?: {
        targetUserId: string;
        description?: string;
    }[];
    dependentUserId?: string;
    dependencyDescription?: string;
    parentId?: string;
}
export declare class BatchAssignDto {
    cycleId: string;
    employeeIds: string[];
    assignments: {
        weight: number;
        name?: string;
        targetValue?: number;
    }[];
}
export declare class QueryAssignmentDto {
    cycleId?: string;
    employeeId?: string;
    page?: number;
    pageSize?: number;
}
export declare class UpdateAssignmentDto {
    weight?: number;
    targetValue?: number;
    name?: string;
    description?: string;
    baseTarget?: string;
    stretchTarget?: string;
    dependentUserId?: string;
    dependencyDescription?: string;
}
export declare class SelfEvaluateDto {
    score?: number;
    selfScore?: number;
    comment?: string;
    selfComment?: string;
    completionNote?: string;
    actualValue?: number;
}
export declare class ManagerEvaluateDto {
    score?: number;
    managerScore?: number;
    comment?: string;
    managerComment?: string;
}
export declare class QueryAssessmentDto {
    cycleId?: string;
    employeeId?: string;
    status?: KpiAssessmentStatus;
    page?: number;
    pageSize?: number;
}
export declare class SubmitAllKpiDto {
    cycleId: string;
}
export declare class RejectAssignmentDto {
    reason: string;
}
export declare class RejectDependencyDto {
    reason: string;
}
export declare class AssignmentResponseDto {
    id: string;
    cycleId: string;
    employeeId: string;
    weight: number;
    targetValue?: number;
    assessment?: AssessmentResponseDto;
    createdAt: Date;
}
export declare class AssessmentResponseDto {
    id: string;
    assignmentId: string;
    status: KpiAssessmentStatus;
    selfScore?: number;
    selfComment?: string;
    selfEvaluatedAt?: Date;
    managerScore?: number;
    managerComment?: string;
    managerId?: string;
    managerEvaluatedAt?: Date;
    finalScore?: number;
}
