import React from 'react';
import { type JSX } from 'udp-react-stencil-component-library';
import { FormChangeEvent, FormFocusEvent } from './utils/formEvents';
/**
 * Props for the UdpDropdown component.
 *
 * Supports both MUI-style and Fluent-style error handling:
 * - MUI style: error={boolean} + helperText={string}
 * - Fluent style: error={string} + hint={string}
 */
export interface UdpDropdownProps<T = unknown> extends Partial<Omit<JSX.UdpFluentDropdown, 'onValueChanged' | 'onInputBlur' | 'onInputFocus' | 'value' | 'error'>> {
    /** Current selected value */
    value?: T;
    /** Called when selection changes - compatible with form libraries (event.target.value) */
    onChange?: (event: FormChangeEvent<T>) => void;
    /** Called when dropdown loses focus - compatible with form libraries */
    onBlur?: (event: FormFocusEvent) => void;
    /** Called when dropdown gains focus */
    onFocus?: (event: FormFocusEvent) => void;
    /** React children (for slot content / options) */
    children?: React.ReactNode;
    /**
     * Error state - supports both MUI and Fluent patterns:
     * - string: Fluent style - the error message to display
     * - boolean: MUI style - when true, displays helperText as error
     */
    error?: string | boolean;
    /**
     * MUI compatibility: Helper/error text shown below the input.
     * When error={true}, this is displayed as the error message.
     * When error={false}, this is displayed as hint text.
     */
    helperText?: string;
}
export declare const UdpDropdown: <T = unknown>({ onChange, onBlur, onFocus, name, value, error, helperText, hint, ...props }: UdpDropdownProps<T>) => React.JSX.Element;
//# sourceMappingURL=UdpDropdown.d.ts.map