import { type EventName } from '@lit/react';
import Component from '../../components/searchpopover';
import type { Events } from '../../components/searchpopover/searchpopover.types';
import type { Events as EventsInherited0 } from '../../components/input/input.types';
import type { Events as EventsInherited1 } from '../../components/searchfield/searchfield.types';
import type { Events as EventsInherited2 } from '../../utils/mixins/CharacterLimitMixin.ts';
/**
 * `mdc-searchpopover` widget is a combination of the Searchfield and Popover components, connected to ensure
 * proper accessibility. This component should be used when search results or suggestions need to be displayed
 * in a popover below the search input field, where the search results hold individual actions like navigating to a
 * a different url etc.
 *
 * - Don't use this when search results are displayed inline on the page -\> use Searchfield component instead.
 * - Don't use this when a list of options is filtered based on the search input -\> use Combobox component instead.
 *
 * It supports any Chip component as filters. (`mdc-inputchip`, `mdc-alertchip`, `mdc-chip`)
 *
 * This component is built by extending the `mdc-searchfield` component & rendering the mdc-popover component inside.
 *
 * Searchpopover supports controlled vs uncontrolled behavior for chip filters, which can be set via the `control-type` attribute:
 * - In **uncontrolled** mode (default), when a chip is removed via the UI, it is automatically removed from the DOM and a `chipRemove` event is dispatched with the removed chip in the event detail. The consumer can listen to the `chipRemove` event but does not need to do anything to remove the chip from the DOM.
 * - In **controlled** mode (`control-type="controlled"`), when a chip is removed via the UI, it is NOT removed from the DOM, but a `chipRemove` event is still dispatched with the "removed" chip in the event detail. The consumer must listen to the `chipRemove` event and handle removing the chip from the DOM themselves (e.g., by updating their state that controls which chips are rendered).
 *
 * @tagname mdc-searchpopover
 *
 * @event input - (React: onInput) This event is dispatched when the value of the input field changes (every press).
 * @event change - (React: onChange) This event is dispatched when the value of the input field changes (on blur).
 * @event focus - (React: onFocus) This event is dispatched when the input receives focus.
 * @event blur - (React: onBlur) This event is dispatched when the input loses focus.
 * @event clear - (React: onClear) This event is dispatched when the input text is cleared.
 * @event chipRemove - (React: onChipRemove) This event is dispatched when a chip filter is removed. The removed chip element is available in event.detail.chip.
 * In **controlled** mode (`control-type="controlled"`), the chip is NOT removed from the DOM automatically — the consumer is responsible for removing it.
 * In **uncontrolled** mode (default), the chip is removed from the DOM automatically.
 * @event shown - (React: onShown) This event is dispatched when the popover is shown
 * @event hidden - (React: onHidden) This event is dispatched when the popover is hidden
 *
 * @slot default - Default slot (=children) for the popover content
 * @slot filters - Slot for input chips
 * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
 * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
 * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
 * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
 * @slot input - Slot for the input element. If not provided, the input field will be rendered.
 * @slot input-leading-icon - Slot for the leading icon before the input field. If not provided, the `leadingIcon` property will be used to render the leading icon.
 * @slot input-prefix-text - Slot for the prefix text before the input field. If not provided, the `prefixText` property will be used to render the prefix text.
 * @slot trailing-button - Slot for the trailing button to clear the input field. If not provided, the clear button will be rendered when `trailingButton` property is set to true.
 *
 * @cssproperty --mdc-label-font-size - Font size for the label text.
 * @cssproperty --mdc-label-font-weight - Font weight for the label text.
 * @cssproperty --mdc-label-line-height - Line height for the label text.
 * @cssproperty --mdc-label-color - Color for the label text.
 * @cssproperty --mdc-help-text-font-size - Font size for the help text.
 * @cssproperty --mdc-help-text-font-weight - Font weight for the help text.
 * @cssproperty --mdc-help-text-line-height - Line height for the help text.
 * @cssproperty --mdc-help-text-color - Color for the help text.
 * @cssproperty --mdc-required-indicator-color - Color for the required indicator text.
 * @cssproperty --mdc-input-text-color - Text color for the input field
 * @cssproperty --mdc-input-border-color - Border color for the input container
 * @cssproperty --mdc-input-background-color - Background color for the input field
 * @cssproperty --mdc-input-support-text-color - Text color for the help text
 * @cssproperty --mdc-input-selection-text-color - Text color for the selected text
 * @cssproperty --mdc-input-selection-background-color - Background color for the selected text
 * @cssproperty --mdc-searchpopover-width - Width of the searchpopover component
 * @cssproperty --mdc-searchpopover-popover-width - Width of the popover within the searchpopover component
 * @cssproperty --mdc-searchpopover-popover-height - Height of the popover within the searchpopover component
 *
 * @csspart label - The label element.
 * @csspart label-text - The container for the label and required indicator elements.
 * @csspart required-indicator - The required indicator element that is displayed next to the label when the `required` property is set to true.
 * @csspart info-icon-btn - The info icon button element that is displayed next to the label when the `toggletip-text` property is set.
 * @csspart label-toggletip - The toggletip element that is displayed when the info icon button is clicked.
 * @csspart help-text - The helper/validation text element.
 * @csspart helper-icon - The helper/validation icon element that is displayed next to the helper/validation text.
 * @csspart help-text-container - The container for the helper/validation icon and text elements.
 * @csspart leading-icon - The leading icon element that is displayed before the input field.
 * @csspart prefix-text - The prefix text element that is displayed before the input field.
 * @csspart input-container - The container for the input field, leading icon, prefix text, and trailing button elements.
 * @csspart input-section - The container for the input field, leading icon, and prefix text elements.
 * @csspart input-text - The input field element.
 * @csspart trailing-button - The trailing button element that is displayed to clear the input field when the `trailingButton` property is set to true.
 * @csspart popover-content - The popover content element.
 */
declare const reactWrapper: import("@lit/react").ReactWebComponent<Component, {
    onShown: EventName<Events["onShownEvent"]>;
    onHidden: EventName<Events["onHiddenEvent"]>;
    onInput: EventName<EventsInherited0["onInputEvent"]>;
    onChange: EventName<EventsInherited0["onChangeEvent"]>;
    onFocus: EventName<EventsInherited0["onFocusEvent"]>;
    onBlur: EventName<EventsInherited0["onBlurEvent"]>;
    onClear: EventName<EventsInherited0["onClearEvent"]>;
    onChipRemove: EventName<EventsInherited1["onChipRemoveEvent"]>;
    onLimitExceeded: EventName<EventsInherited2["onLimitExceededEvent"]>;
}>;
export default reactWrapper;
