import { default as React, ReactNode, HTMLAttributes, FocusEventHandler, ChangeEventHandler } from 'react'; type AddOptionValueAndLabelFunction = (value: string, label: string, children: ReactNode) => void; export type ComboBoxContextType = { selectedValue?: string; truncateOptions: boolean; addOptionValueAndLabel: AddOptionValueAndLabelFunction; }; export declare const ComboBoxContext: React.Context; /** * The `ComboBox` component is a customizable, accessible, and interactive dropdown component, allowing users to select from a list of options. * It features dynamic filtering and optional asynchronous loading for extended functionality. * @see https://cloudoperators.github.io/juno/?path=/docs/forms-combobox-combobox--docs * @see {@link ComboBoxProps} */ export declare const ComboBox: ({ ariaLabel, children, className, defaultValue, disabled, error, errortext, helptext, id, invalid, loading, label, name, onBlur, onChange, onFocus, onInputChange, placeholder, required, successtext, truncateOptions, valid, value, valueLabel, width, wrapperClassName, ...props }: ComboBoxProps) => ReactNode; export type ComboBoxWidth = "full" | "auto"; export interface ComboBoxProps extends Omit, "onChange" | "onInput" | "children"> { /** ARIA label for accessibility. Defaults to label if provided. */ ariaLabel?: string; /** Children to render, typically using `ComboBox.Option`. */ children?: ReactNode; /** * Additional class names for styling. * @default "" */ className?: string; /** Default value for ComboBox, applicable in uncontrolled mode. */ defaultValue?: string; /** * Indicates if ComboBox is disabled. * @default false */ disabled?: boolean; /** * Indicates internal ComboBox error. Use `invalid` for validation failures. * @default false */ error?: boolean; /** Text displayed for validation errors or internal issues. */ errortext?: ReactNode; /** Additional context or instructions displayed below the ComboBox. */ helptext?: ReactNode; /** ID for ComboBox. If unspecified, auto-generated. */ id?: string; /** * Identifies invalid ComboBox state. * @default false */ invalid?: boolean; /** ComboBox label text. */ label?: string; /** * Loading state for asynchronous actions. * @default false */ loading?: boolean; /** Name attribute when used within a form. */ name?: string; /** Handler for when the ComboBox loses focus. */ onBlur?: FocusEventHandler; /** Handler for changes in the ComboBox selection. */ onChange?: (_value: string) => void; /** Handler for when the ComboBox input gains focus. */ onFocus?: FocusEventHandler; /** Handler for changes in the ComboBox's text input value. */ onInputChange?: ChangeEventHandler; /** Placeholder text for ComboBox input. * @default "Select…" */ placeholder?: string; /** * Flags the ComboBox as a required field. * @default false */ required?: boolean; /** Text shown upon successful validation of the ComboBox. */ successtext?: ReactNode; /** * Controls option text truncation in the dropdown. * @default false */ truncateOptions?: boolean; /** * Specifies successful validation state. * @default false */ valid?: boolean; /** Controlled value for ComboBox in managed state. */ value?: string; /** Label corresponding to the selected or default value for display. */ valueLabel?: string; /** * Width determination for input: "full" or "auto". * @default "full" */ width?: ComboBoxWidth; /** Custom styling classes for the ComboBox's wrapper. * @default "" */ wrapperClassName?: string; } export {}; //# sourceMappingURL=ComboBox.component.d.ts.map