import type { ComponentProps, CSSProperties } from 'react'; import type { Button } from '../Button'; import type { SelectInput } from '../SelectInput'; import type { TextInput } from '../TextInput'; type TextInputProps = { inputType?: 'text'; regex?: (RegExp | RegExp[])[]; }; type SelectInputProps = { inputType: 'select'; options: ComponentProps['options']; }; type InputProps = XOR<[TextInputProps, SelectInputProps]>; type InputKeyProps = { label: ComponentProps['label']; required?: ComponentProps['required']; placeholder?: ComponentProps['placeholder']; } & InputProps; type InputValueProps = { type?: ComponentProps['type']; } & InputKeyProps; type AddButtonProps = { name: ComponentProps['children']; fullWidth?: ComponentProps['fullWidth']; tooltip?: string; maxSizeReachedTooltip?: string; }; export type KeyValuePair = { key: string; value: string; }; export type KeyValueInputProps = { name?: string; keyvalues?: KeyValuePair[]; size?: 'small' | 'medium' | 'large'; /** * When set to true, both the key & value inputs are required */ required?: boolean; maxSize?: number; inputKey: InputKeyProps; inputValue: InputValueProps; addButton: AddButtonProps; disabled?: boolean; readOnly?: boolean; error?: boolean | string; fieldErrors?: ({ key?: string; value?: string; } | null)[]; onChange?: (keyValues: KeyValuePair[], index?: number, operationType?: 'change' | 'add' | 'remove') => void; onBlur?: (keyValues: KeyValuePair[], index?: number) => void; onFocus?: (keyValues: KeyValuePair[], index?: number) => void; style?: CSSProperties; className?: string; 'aria-describedby'?: string; }; export {}; //# sourceMappingURL=types.d.ts.map