import { default as React, ReactNode, ChangeEvent, MouseEvent, FC } from 'react';
export interface NativeSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {
    /**
     * Name of the select element.
     * Used as a key for the selected value if a form is submitted.
     */
    name?: string;
    /**
     * ID of the select element.
     */
    id?: string;
    /**
     * Additional CSS classes to apply to the select element for custom styling.
     */
    className?: string;
    /**
     * Elements to be rendered inside the select element.
     * This can be any React node or a collection of React nodes.
     * Typically, these are SelectOption or SelectOptionGroup components.
     */
    children?: ReactNode;
    /**
     * Disables the select element, making it unclickable.
     */
    disabled?: boolean;
    /**
     * Highlights the select element as invalid, indicating incorrect user input or validation errors.
     */
    invalid?: boolean;
    /**
     * Highlights the select element as valid, indicating correct user input or successful validation.
     */
    valid?: boolean;
    /**
     * Displays a loading indicator over the select element.
     * Used for async operations like fetching data.
     */
    loading?: boolean;
    /**
     * Displays an error state over the select element, such as during data fetching errors.
     * Should not be used for validation errors.
     */
    error?: boolean;
    /**
     * Event handler for the change event of the select element.
     * Triggered when the user changes the selected option.
     */
    onChange?: (event: ChangeEvent<HTMLSelectElement>) => void;
    /**
     * Event handler for the click event on the select element.
     * Triggered when the user clicks on the select element.
     */
    onClick?: (event: MouseEvent<HTMLSelectElement>) => void;
    /**
     * Additional CSS classes to apply to the outer wrapper of the select component for custom styling.
     */
    wrapperClassName?: string;
}
/**
 * A basic, uncontrolled native HTML select component.
 * Takes NativeSelectOption and NativeSelectOptionGroup children as options.
 * Handles states such as loading, valid, invalid, and error.
 */
export declare const NativeSelect: FC<NativeSelectProps>;
//# sourceMappingURL=NativeSelect.component.d.ts.map