```ts
const PreferenceInput: React.FC<{
  className?: string;
  confirmLabel?: string;
  denyAlertText?: string;
  denyLabel?: string;
  errorText?: string;
  hasError?: boolean;
  id?: string;
  initialValue?: string;
  isEditing?: boolean;
  isReadOnly?: boolean;
  isConfirmDisabled?: boolean;
  label: string;
  labelEnhanceEnd?: React.ReactNode;
  modifyLabel?: string;
  name: string;
  overrideInputValue?: string;
  placeholder?: string;
  shouldShowDenyAlert?: boolean;
  type?: "text" | "password" | "number" | "email" | "tel" | "url";
  renderText?: typeof Text;
  onChange?: (e) => void;
  onConfirm?: (value?) => void;
  onEditingStateChange?: (isEditing) => void;
}>;
```
