import { type DetailedHTMLProps, type InputHTMLAttributes, type ReactNode } from 'react';
type InputProps = {
    label: string;
    input: {
        type: Omit<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>['type'], 'button' | 'checkbox' | 'radio'>;
    } & Omit<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, 'placeholder'>;
    helperText?: string;
    error?: string;
    iconL?: ReactNode;
    iconR?: ReactNode;
};
/**
 * Input component for rendering a labeled input field with optional icons, helper text, and error message.
 *
 * @component
 * @example
 * // Example usage of Input component
 * <Input
 *   label="Username"
 *   input={{ type: 'text', value: 'JohnDoe', onChange: () => console.log('Input changed') }}
 *   helperText="Enter your username"
 *   error="Username is required"
 *   iconL={<SomeIcon />}
 *   iconR={<AnotherIcon />}
 * />
 *
 * @param {Object} props - The properties of the Input component.
 * @param {string} props.label - The label text for the input field.
 * @param {Object} props.input - The properties for the input element.
 * @param {string} [props.helperText] - Optional helper text to be displayed below the input field.
 * @param {string} [props.error] - Optional error message to be displayed below the input field.
 * @param {ReactNode} [props.iconL] - Optional icon to be displayed to the left of the input field.
 * @param {ReactNode} [props.iconR] - Optional icon to be displayed to the right of the input field.
 *
 * @returns {ReactNode} The rendered Input component.
 */
export declare function Input({ label, input, helperText, error, iconL, iconR, }: InputProps): ReactNode;
export {};
//# sourceMappingURL=Input.d.ts.map