import { filters } from '@bigbinary/neeto-filters-frontend';
import React from 'react';
import { NavLinkProps } from 'react-router-dom';

type NavLinkItemType = {
  to?: string;
  label?: React.ReactNode;
  icon?: any;
  onClick?: () => void;
  description?: React.ReactNode;
  component?: React.ComponentType;
  addActions?: {
    key: string;
    label: string;
    onClick?: () => void;
  }[];
  isActive?: () => boolean;
  count?: number;
  type?: string;
  filters?: filters;
  checkpointKey?: string;
  isConfigureNavLink?: boolean;
  isCountsLoading?: boolean;
} & React.PropsWithoutRef<NavLinkProps<any>> & React.RefAttributes<HTMLAnchorElement>;
/**
 *
 * The Sidebar component is used in neeto products for showing navigation links
 *
 * that take the user to different parts of the app. The sidebar is collapsible and
 *
 * can be toggled by clicking on the chevron icon.
 *
 * ![Screenshot](https://github.com/bigbinary/neeto-molecules/assets/12969853/9be99f89-97cf-4295-acbf-ec39c658f68f|height=200|width=300)
 *
 * @example 
 *
 * import Sidebar from "@bigbinary/neeto-molecules/Sidebar";
 * import { SIDEBAR_LINKS } from "components/constants";
 * 
 * const SidebarContainer = ({ children }) => {
 *   // custom app logic
 *   return (
 *     <div>
 *       <Sidebar navLinks={SIDEBAR_LINKS} />
 *       {children}
 *     </div>
 *   );
 * };
 * @endexample
*/
declare const Sidebar: React.FC<{
  navLinks?: NavLinkItemType[];
  moreNavLinks?: NavLinkItemType[];
  customLogo?: any;
  isCountsLoading?: boolean;
  showWorkspaceName?: boolean;
  isExpandable?: boolean;
}>;

export { Sidebar as default };
