import React from 'react'; import './MultiLevelDropdown.css'; export type IList = { label: String | React.ReactNode; action?: Function; default?: boolean; searchKey?: string; value?: string | React.ReactNode | Element; showAsActive?: Boolean; textLabel?: String; disable?: boolean; closeDropdownOnSelect?: boolean; stacks: Array; }; export type IPrimaryList = { label: String | React.ReactNode; action?: Function; default?: boolean; searchKey?: string; value?: string | React.ReactNode | Element; showAsActive?: Boolean; textLabel?: String; disable?: boolean; closeDropdownOnSelect?: boolean; stacks: Array; actionTooltip?: boolean; actionTooltipProps: { list: Array; }; }; export type TooltipList = { label: String | React.ReactNode; action?: Function; title?: string; }; type IMultiLevelDropdown = { primaryList: Array; secondaryList: Array; tertiaryList: Array; 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; title?: string; searchPlaceholder?: string; onListClick?: (data?: any) => void; viewAs?: 'label' | 'value'; primaryLabel?: string; secondaryLabel?: string; tertiaryLabel?: string; emptyPlaceholder?: string; arrowSecondary?: boolean; primaryListLoader?: boolean; secondaryListLoader?: boolean; onListHover?: (data?: any) => void; clickState?: boolean; hoverState?: boolean; adjustWidthForContent?: boolean; onChange: Function; value: any; limit?: number; loadMoreOptions: (loadmoreArgs: LoadMoreArgsProps) => LoadMoreOptReturnProps; initialOptions?: Array; defaultOptions?: boolean; isClearable?: boolean; isSearchable?: boolean; loadMoreList: Function; itemStatusMap: object; defaultOptionList: Array; fetchMoreListOptions?: boolean; totalCount: number; secondaryArrow?: boolean; OnHoverSubNestedMenu?: boolean; setSelectedStack?: string; withPrimarySearch?: boolean; searchLimit?: number; }; type LoadMoreArgsProps = { search: string; skip: number; limit: number; prevOptions: any; }; type InitArrayProps = { label: String; value: String; }; type LoadMoreOptReturnProps = { data: any; hasMore: boolean; }; export declare function useComponentVisible(initialIsVisible: Boolean): { ref: any; isComponentVisible: Boolean; setIsComponentVisible: React.Dispatch>; }; declare const MultiLevelDropdown: React.FunctionComponent; export default MultiLevelDropdown;