import * as React from 'react'; /** * Represents the structure of a button used within the application. */ interface IButton { /** * Text label that appears on the button */ Label: JSX.Element | string; /** * Callback function for when a button is clicked * @returns */ Callback: () => void; /** * Optional group number for grouping items visually with dividers */ Group?: number; /** * Optional flag to disable button */ Disabled?: boolean; /** * Optional content to render inside tooltip */ ToolTipContent?: JSX.Element; /** * Optional flag to render tooltip on button */ ShowToolTip?: boolean; /** * Optional location of tooltip, defaulting to top */ ToolTipLocation?: ('top' | 'bottom' | 'left' | 'right'); /** * Optional key to be used on the fragment that is parent of the dropdown option. */ Key?: string | number; } /** * Represents the properties for a component that renders buttons. */ interface IProps { /** * Text label that appears on the main button */ Label: JSX.Element | string; /** * Callback function for when the main button is clicked * @returns */ Callback: () => void; /** * Optional flag to disable the main button */ Disabled?: boolean; /** * Array of button options rendered inside the dropdown menu */ Options: IButton[]; /** * Optional size of the button group */ Size?: 'sm' | 'lg' | 'xlg' | 'std'; /** * Optional CSS applied to the container */ ContainerStyle?: React.CSSProperties; /** * Optional CSS class applied to the buttons, defaulting to 'btn-primary' */ BtnClass?: string; /** * Optional content to render inside the tooltip */ TooltipContent?: JSX.Element; /** * Optional location of the tooltip, defaulting to top */ TooltipLocation?: ('top' | 'bottom' | 'left' | 'right'); /** * Optional flag to render a tooltip on the main button */ ShowToolTip?: boolean; } declare const BtnDropdown: (props: IProps) => JSX.Element; export default BtnDropdown;