export interface ListTypeProps {
  Table_Title?: string | React.ReactNode;
  check_box?: boolean;
  setLimit?: (value: number) => void;
  tableHeaders?: any;
  tableData?: any;
  FilterComponent?: React.ReactNode;
  ActionComponent?: React.ReactNode;
  TabComponent?: React.ReactNode;
  Arraykeys?: string[]; // Replace 'string[]' with the appropriate type if needed
  actions?: any; // Array of actions with label and onClick handler
  refetch?: () => void;
  setSearchKeyword?: (keyword: string) => void;
  setEditValues?: any;
  searchKeyword?: string;
  sorting?: any;
  setSorting?: any;
  SORT_KEYS?: any; // Array of objects with key and label properties
  deleteClickHandler?: any;
  statusClickHandler?: any;
  api_name_status?: string;
  api_name_delete?: string;
  ListLoding?: boolean;
  handleSort?: (key: string) => void; // Function to handle sorting
  setOpenModal?: (open: boolean) => void; // Function to open/close modal
  limit?: number | string; // Specify the expected type(s) for limit
  setCurrentPage?: any;
  totalPage?: any;
  currentPage?: any;
  api_status_name?: string;
  api_delete_name?: string;
  togglePassword?: any;
  toggleView?: any;
  
}

export interface TableActionProps {
  dropdownOpen: boolean;
  toggleDropdown: () => void; // Function to toggle dropdown
  id: number; // Unique ID for the row
  actions?: { label: string; onClick: () => void }[]; // Actions component
  deleteClickHandler?: (id: number) => void; // Function to handle delete
  statusClickHandler?: (id: number) => void; // Function to handle status change
  items?: Record<string, unknown>[]; // Optional list of items
  refetch?: () => void; // Function to refetch data
  api_name_delete?: string; // API endpoint for delete
  api_name_status?: string; // API endpoint for status change
  setSubPathname?: (path: string) => void; // Function to update sub-path
  setEditValues?: (values: Record<string, unknown>) => void; // Function to set edit values
  setOpenModal?: (open: boolean) => void; // Function to open/close modal
}

export interface TabListProps {
  showPagination?: boolean; // Whether to show pagination
  ShowClock?: boolean; // Whether to show a clock component
  goBack?: string; // URL or route to navigate back
  component: React.ReactNode; // The component to render
}
