import React, { ButtonHTMLAttributes, InputHTMLAttributes, SelectHTMLAttributes, SyntheticEvent, TextareaHTMLAttributes } from 'react';
import { ButtonProps } from '../../Elements/Button';
type TOptionItem = {
label: string;
value: any;
disabled?: boolean;
};
type TInputEL = {
options?: never;
select?: false;
multiline?: false;
resizeNone?: false;
} & Partial>;
type TSelectEL = {
options?: TOptionItem[];
select: true;
multiline?: false;
resizeNone?: false;
} & Partial>;
type TTextAreaEL = {
multiline?: true;
resizeNone?: true;
options?: never;
select?: false;
} & Partial>;
type TDropdown = Partial<{
title: string;
options: {
title: string;
value: number | string | null;
}[];
name: string;
onChange?: (e: React.ChangeEvent) => void;
value: any;
}>;
interface IInputKitProps {
label?: React.ReactNode;
id?: string;
helperText?: React.ReactNode;
addonHelperText?: string;
Suffix?: JSX.Element | string;
Prefix?: JSX.Element | string;
suffixDropdown?: TDropdown;
prefixDropdown?: TDropdown;
suffixAction?: ButtonProps & ButtonHTMLAttributes;
prefixAction?: ButtonProps & ButtonHTMLAttributes;
error?: boolean;
hiddenLabel?: boolean;
cornerHint?: React.ReactNode;
variant?: 'standard' | 'inset' | 'overlapping' | 'standard-bg';
size?: 'medium' | 'large';
classes?: Partial>;
multiline?: boolean;
richTextBox?: boolean;
fullRounded?: boolean;
select?: boolean;
fullWidth?: boolean;
inlineLabel?: boolean;
helperTextNextLine?: boolean;
onInput?: (e: SyntheticEvent) => void;
richTextValue?: JSX.Element;
}
export type TElement = TInputEL | TSelectEL | TTextAreaEL;
type TProps = IInputKitProps & TElement;
declare const InputKit: React.ForwardRefExoticComponent>;
export default InputKit;
export type { TProps as TInputKitProps, IInputKitProps };
//# sourceMappingURL=index.d.ts.map