/**
 * Type definitions for Requests page
 */

import type { DateRange } from '@/services/dashboard.service';

export interface RequestsProps {
  onViewRequest: (requestId: string, requestTitle?: string, status?: string) => void;
}

export interface RequestFilters {
  search?: string;
  status?: string;
  priority?: string;
  slaCompliance?: string;
  department?: string;
  initiator?: string;
  approver?: string;
  approverType?: 'current' | 'any';
  dateRange?: DateRange;
  startDate?: Date;
  endDate?: Date;
}

export interface RequestStats {
  total: number;
  pending: number;
  paused: number;
  approved: number;
  rejected: number;
  draft: number;
  closed: number;
}

export interface BackendStats {
  total: number;
  pending: number;
  paused: number;
  approved: number;
  rejected: number;
  draft: number;
  closed: number;
}

export interface User {
  userId: string;
  email: string;
  displayName?: string;
}

export interface ConvertedRequest {
  id: string;
  requestId: string;
  displayId: string;
  title: string;
  description: string;
  status: string;
  priority: string;
  department?: string;
  submittedDate?: string;
  createdAt: string | Date | undefined;
  currentApprover: string;
  approverLevel: string;
  templateType?: string;
  workflowType?: string;
  templateName?: string;
}

