// Note: Basic UpdateTimesheetDto is defined in timesheets.service.ts
// This file contains extended DTOs for additional functionality

/**
 * DTO para enviar un timesheet a aprobacion
 */
export interface SubmitTimesheetDto {
  /** IDs de los timesheets a enviar */
  timesheet_ids: string[];
}

/**
 * DTO para aprobar/rechazar timesheets
 */
export interface ApproveTimesheetDto {
  /** IDs de los timesheets a aprobar/rechazar */
  timesheet_ids: string[];
  /** Comentario opcional del aprobador */
  comment?: string;
}

/**
 * DTO para marcar timesheets como facturados
 */
export interface MarkInvoicedDto {
  /** IDs de los timesheets a marcar */
  timesheet_ids: string[];
  /** ID de la factura */
  invoice_id: string;
}

/**
 * DTO para accion masiva sobre timesheets
 */
export interface BulkTimesheetActionDto {
  /** IDs de los timesheets */
  timesheet_ids: string[];
  /** Accion a realizar */
  action: 'submit' | 'approve' | 'reject' | 'delete';
  /** Comentario opcional */
  comment?: string;
}
