import { IconProps } from 'neetoicons';
import React from 'react';

interface IntegrationCardProps {
  icon: React.FC<IconProps>;
  subIcons?: React.FC<IconProps>[];
  label: string;
  description: string;
  className?: string;
  onConnect: (...args: any[]) => any;
  onDisconnect?: (...args: any[]) => any;
  onManage?: (...args: any[]) => any;
  onClick?: (...args: any[]) => any;
  isLoading?: boolean;
  isConnected?: boolean;
  isFailed?: boolean;
  isExpired?: boolean;
  disabled?: boolean;
  hidden?: boolean;
  hideDisconnect?: boolean;
  tooltipProps?: Partial<TooltipProps>;
  customDropdown?: React.ReactNode;
  children?: React.ReactNode;
  dataTestid?: string;
  connectPath?: string;
  connectUrl?: string;
}
/**
 *
 * A common component used for integrations across neeto products.
 *
 * ![Integrations](https://user-images.githubusercontent.com/49012815/237155224-582fe3b3-2b63-484b-bc08-6898fb8c1ce2.png|height=200|width=300)
 *
 * @example 
 *
 * import IntegrationCard from "@bigbinary/neeto-molecules/IntegrationCard";
 * 
 * return (
 *   <IntegrationCard
 *     Icon={SlackIcon}
 *     description="Integrate with Slack"
 *     isConnected={isConnected}
 *     label="Slack"
 *     customDropdown={
 *       <Dropdown buttonStyle="text" icon={MenuVertical}>
 *         <Menu>
 *           <MenuItem.Button>Custom Option</MenuItem.Button>
 *         </Menu>
 *       </Dropdown>
 *     }
 *     onConnect={handleConnect}
 *     onDisconnect={handleDisconnect}
 *     onManage={handleManage}
 *   />
 * );
 * @endexample
*/
declare const IntegrationCard: React.FC<IntegrationCardProps>;

export { IntegrationCard as default };
export type { IntegrationCardProps };
