import { RegisterOptions } from 'react-hook-form'; import { StylesConfig } from 'react-select'; import { TransactionPage, TransactionStatus } from '@zeniai/client-analytics'; import { ID, TransactionLineRecommendationFieldTypes } from '@zeniai/client-epic-state'; import { TooltipPlacement } from '../../common/tooltipVariants/types'; import { AncestorMetadata } from '../../reportTree/reportTreeTypes'; import { DisableMode } from '../common/common'; /** * Component & its Props */ interface OptionTypeBase { [key: string]: any; } export interface TreeViewOptions { ancestorMetadata?: AncestorMetadata[]; coaId?: string; collapsed?: boolean; depth?: number; hasChildren?: boolean; hasSiblings?: boolean; isLastNode?: boolean; isLeaf?: boolean; recommendedOptionIndex?: number; } export interface OptionType extends OptionTypeBase, TreeViewOptions { label: string; value: string; additionalNote?: string; chainOfThought?: string[]; confidencePercentage?: number; displayName?: string; isDisabled?: boolean; isOptionRecommended?: boolean; recommendationReason?: string; } export interface GroupedOption { label: string; options: OptionType[]; } export interface GroupedSingleSelectFieldValueWithCOT { allOptions: GroupedOption[]; selectedOption?: string; selectedOptionLabel?: string; } interface TooltipProp { sticky: boolean; text: string; } export type MenuOptionPresentation = "default" | "typePill"; export interface GroupedSingleSelectFieldWithCOTProps { defaultValue: GroupedSingleSelectFieldValueWithCOT; name: string; pageSource: TransactionPage; showCOT: boolean; transactionStatus: TransactionStatus | null; type: TransactionLineRecommendationFieldTypes; additionalLabelInfo?: string; allowEmpty?: boolean; autoFocus?: boolean; customPlaceholderColor?: string; customPlaceholderString?: string; customStyleConfig?: StylesConfig; isDisabled?: DisableMode; menuIsOpen?: boolean; menuOptionPresentation?: MenuOptionPresentation; menuPlacement?: "top" | "bottom" | "auto"; menuPortal?: HTMLElement | null; noOptionsMessage?: { line1: string; line2: string; }; placeholder?: string; registerOptions?: RegisterOptions; showDownChevronWithValue?: boolean; showEmptyState?: boolean; style?: React.CSSProperties; tooltip?: TooltipProp; tooltipPosition?: TooltipPlacement; tooltipWidth?: number; disableCurrentOption?: (option: string) => boolean; getStyles?: (_isDropdownOpen: boolean) => React.CSSProperties; onCOTView?: (fieldType: TransactionLineRecommendationFieldTypes, recommendationSource?: string) => void; onMenuClose?: () => void; valueToId?: (value: string) => ID | undefined; valueToInfo?: (value: string) => string; } export declare const GroupedSingleSelectFieldWithCOT: ({ name, registerOptions, defaultValue, isDisabled, style, placeholder, autoFocus, menuIsOpen, pageSource, type, transactionStatus, showEmptyState, additionalLabelInfo, customStyleConfig, customPlaceholderString, allowEmpty, tooltip, noOptionsMessage, customPlaceholderColor, menuPortal, showCOT, tooltipPosition, tooltipWidth, disableCurrentOption, valueToInfo, valueToId, onMenuClose, getStyles, menuPlacement, onCOTView, showDownChevronWithValue, menuOptionPresentation, }: GroupedSingleSelectFieldWithCOTProps) => import("react/jsx-runtime").JSX.Element; /** * internal Styled components */ export declare const CustomTooltip: ({ children, title, }: { children: string; title: string; }) => import("react/jsx-runtime").JSX.Element; export declare const GroupedSingleSelectField: ({ name, registerOptions, defaultValue, isDisabled, style, placeholder, autoFocus, menuIsOpen, pageSource, type, transactionStatus, showEmptyState, additionalLabelInfo, customStyleConfig, customPlaceholderString, allowEmpty, tooltip, noOptionsMessage, customPlaceholderColor, menuPortal, showCOT, tooltipPosition, tooltipWidth, disableCurrentOption, valueToInfo, valueToId, onMenuClose, getStyles, menuPlacement, onCOTView, showDownChevronWithValue, menuOptionPresentation, }: GroupedSingleSelectFieldWithCOTProps) => import("react/jsx-runtime").JSX.Element; export {};