import './Dropdown.css';
import React from 'react';
import { ActionTooltipList } from '../ActionTooltip/ActionTooltip';
export declare type IList = {
    label: string | React.ReactNode;
    action?: Function;
    default?: boolean;
    searchKey?: string;
    value?: string | React.ReactNode | Element;
    textLabel?: string;
    disable?: boolean;
    closeDropdownOnSelect?: boolean;
    actionTooltip?: boolean;
    actionTooltipProps?: {
        list: Array<ActionTooltipList>;
    };
    allowMultipleSelects?: boolean;
    isDropDisabled?: boolean;
    testId?: string;
};
export declare type IDropdown = {
    list: Array<IList>;
    lists?: Array<Array<IList>>;
    type: 'click' | 'hover' | 'select';
    children?: React.ReactNode | Element;
    withSearch?: boolean;
    dropDownPosition?: 'top' | 'bottom' | 'left' | 'right';
    withArrow?: boolean;
    className?: string;
    dropDownType?: 'primary' | 'secondary' | 'tertiary' | 'quaternary';
    closeAfterSelect?: boolean;
    isEllipse?: boolean;
    isMultiCheck?: boolean;
    title?: string;
    searchPlaceholder?: string;
    onChange?: (data?: any) => void;
    viewAs?: 'label' | 'value';
    highlightActive?: boolean;
    headerLabel?: string;
    arrowSecondary?: boolean;
    emptyPlaceholder?: string;
    adjustWidthForContent?: boolean;
    withIcon?: boolean;
    maxWidth?: string | number;
    testId?: string;
    onListScroll?: any;
    portalId?: string;
    withPortal?: boolean;
    headerPortalId?: string;
    ellipseAlignment?: string;
    dragDropProps?: Object;
    isDisabled?: boolean;
    isOpen?: boolean;
    infoComponent?: any;
    canCloseOnClickOutside?: boolean;
    version?: 'v1' | 'v2';
};
export declare function useComponentVisible(initialIsVisible: boolean, isOpen?: boolean, canCloseOnClickOutside?: boolean): {
    ref: any;
    menuRef: any;
    headerRef: any;
    headerEleRef: any;
    isComponentVisible: boolean;
    setIsComponentVisible: React.Dispatch<React.SetStateAction<boolean>>;
};
declare const Dropdown: React.FunctionComponent<IDropdown>;
export default Dropdown;
