import { ReactChild, ReactElement } from 'react';

export type Logo = {
  light: () => ReactElement | null;
  dark?: () => ReactElement | null;
  onClick?: () => void;
};

export type NavbarProps = {
  className?: string;
  isLoading?: boolean;
  logo?: Logo;
  rightPanel?: NavbarRightPanelProps;
  title?: string;
  logoWidth?: number;
};

export type NavbarRightPanelProps = {
  className?: string;
  buttons?: ReactChild;
  search?: {
    placeholder?: string;
    searchPattern: string;
    onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
  };
};
