import React from 'react'; import { SelectOption, SelectProps } from '../Select/Select'; import { MultiSelectOption } from 'components/MultiSelect/MultiSelect'; import { IItemRendererProps } from '@blueprintjs/select'; export interface SelectWithSubviewProps extends SelectProps { subview: JSX.Element; changeViewButtonLabel: string; renderSubviewWithoutMenuStyling?: boolean; } export declare const SelectWithSubviewContext: React.Context<{ toggleSubview: (option?: SelectOption | undefined) => string | void; shouldDisplaySubview: boolean; }>; declare type ToggleDropDownArgs = { changeViewButtonLabel: string; items: SelectProps['items'] | MultiSelectOption[]; subview: JSX.Element; itemRenderer?: (toggleSubview: () => void) => (item: SelectOption | MultiSelectOption, itemProps: IItemRendererProps) => JSX.Element | null; renderSubviewWithoutMenuStyling?: boolean; }; export declare function useToggleDropDownSubviewHook({ changeViewButtonLabel, items, subview, renderSubviewWithoutMenuStyling, itemRenderer: propsItemRenderer }: ToggleDropDownArgs): { onPopoverCloseCallback: () => void; itemListRenderer: (() => JSX.Element) | undefined; itemRenderer: (item: SelectOption | MultiSelectOption, itemProps: IItemRendererProps) => JSX.Element | null; options: (SelectOption | MultiSelectOption)[]; shouldDisplaySubview: boolean; toggleSubview: (optionToAddToDropdown?: SelectOption | MultiSelectOption | undefined) => string | undefined; }; export declare const SelectWithSubview: React.FC; export {};