import React from 'react';

/**
 *
 * The StatusDropdown component is used in neeto products for showing a dropdown
 *
 * to select the status of an item.
 *
 * ![Screenshot](https://github.com/user-attachments/assets/aed45df0-e216-4886-9013-7f4d4aa940bf|height=200|width=300)
 *
 * @example 
 *
 * import StatusDropdown from "@bigbinary/neeto-molecules/StatusDropdown";
 * 
 * const App = () => {
 *   const [selectedStatus, setSelectedStatus] = React.useState("All");
 * 
 *   const options = [
 *     { label: "All", value: "All", color: "red" },
 *     { label: "Open", value: "Open", color: "green" },
 *     { label: "In Progress", value: "In Progress", color: "yellow" },
 *   ];
 * 
 *   return (
 *     <div>
 *       <StatusDropdown
 *         shouldShowAllOptions
 *         options={options}
 *         selectedValue={selectedValue}
 *         onItemClick={({ value }) => setSelectedStatus(value)}
 *       />
 *     </div>
 *   );
 * };
 * @endexample
 * @example 
 *
 * import StatusDropdown from "@bigbinary/neeto-molecules/StatusDropdown";
 * 
 * const App = () => {
 *   const [selectedStatus, setSelectedStatus] = React.useState("All");
 * 
 *   const options = [
 *     { label: "All", value: "All", color: "red" },
 *     { label: "Open", value: "Open", color: "green" },
 *     { label: "In Progress", value: "In Progress", color: "yellow" },
 *   ];
 * 
 *   const hiddenStatuses = ["Open"];
 * 
 *   return (
 *     <div>
 *       <StatusDropdown
 *         hiddenStatuses={hiddenStatuses}
 *         options={options}
 *         selectedValue={selectedValue}
 *         onItemClick={({ value }) => setSelectedStatus(value)}
 *       />
 *     </div>
 *   );
 * };
 * @endexample
*/
declare const StatusDropdown: React.FC<{
  disabled?: boolean;
  hiddenStatuses?: Array<string>;
  isLoading?: boolean;
  onItemClick: (status: object) => void;
  options: Array<object>;
  placeholder?: string;
  selectedValue: string;
  shouldShowAllOptions?: boolean;
  isClearable?: boolean;
  onClear?: () => void;
}>;

export { StatusDropdown as default };
