import PropTypes from 'prop-types';
import InputText from '../../atom/input-text';
import InputTextarea from '../../atom/input-textarea';
import IconPreview from '../../molecule/icon-preview';
import { SelectOptionPropTypes } from '../../atom/select';
const FormPropTypes = {
  title: PropTypes.string,
  subtitle: PropTypes.string,
  select: PropTypes.shape({
    title: PropTypes.string,
    subtitle: PropTypes.string,
    'data-name': PropTypes.string,
    field: PropTypes.shape({
      options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),
      'aria-label': PropTypes.string,
      onChange: PropTypes.func
    })
  }),
  inputText: PropTypes.shape({
    title: PropTypes.string,
    field: PropTypes.shape(InputText.propTypes)
  }),
  inputTextArea: PropTypes.shape({
    title: PropTypes.string,
    field: PropTypes.shape(InputTextarea.propTypes)
  })
};
const IconEditorPropTypes = {
  title: PropTypes.string.isRequired,
  iconPreview: PropTypes.shape(IconPreview.propTypes).isRequired,
  inputText: PropTypes.shape(InputText.propTypes).isRequired,
  buttonLink: PropTypes.shape({
    label: PropTypes.string,
    ariaLabel: PropTypes.string,
    'data-name': PropTypes.string,
    onClick: PropTypes.func
  })
};
const translationPropTypes = PropTypes.shape({
  title: PropTypes.string.isRequired,
  subtitle: PropTypes.string.isRequired,
  localesOptions: PropTypes.arrayOf(PropTypes.shape({
    label: PropTypes.string.isRequired,
    ref: PropTypes.string.isRequired,
    onClick: PropTypes.func.isRequired
  })).isRequired,
  items: PropTypes.objectOf(PropTypes.shape({
    title: PropTypes.string.isRequired,
    onEditClick: PropTypes.func.isRequired,
    onDeleteClick: PropTypes.func.isRequired
  }).isRequired),
  button: PropTypes.shape({
    label: PropTypes.string.isRequired,
    onClick: PropTypes.func.isRequired,
    disabled: PropTypes.bool
  }).isRequired
});
const contentPropTypes = PropTypes.shape({
  title: PropTypes.string.isRequired,
  subtitle: PropTypes.string.isRequired,
  button: PropTypes.shape({
    label: PropTypes.string.isRequired,
    onClick: PropTypes.func.isRequired
  }).isRequired,
  list: PropTypes.shape({
    items: PropTypes.arrayOf(PropTypes.shape({
      ref: PropTypes.string.isRequired,
      title: PropTypes.string.isRequired,
      subtitle: PropTypes.string.isRequired,
      image: PropTypes.string.isRequired,
      tags: PropTypes.shape({
        label: PropTypes.string.isRequired,
        iconName: PropTypes.string.isRequired
      }).isRequired,
      checkbox: PropTypes.shape({
        checked: PropTypes.bool.isRequired,
        onChange: PropTypes.func.isRequired
      }).isRequired
    }).isRequired),
    search: PropTypes.shape({
      value: PropTypes.string.isRequired,
      placeholder: PropTypes.string.isRequired,
      onChange: PropTypes.func.isRequired
    }).isRequired,
    emptyResult: PropTypes.shape({
      title: PropTypes.string.isRequired,
      description: PropTypes.string.isRequired
    }),
    checkbox: PropTypes.shape({
      title: PropTypes.string.isRequired,
      checked: PropTypes.bool.isRequired,
      onChange: PropTypes.func.isRequired
    })
  }).isRequired
});
const SkillEditionPropTypes = {
  skillInformations: PropTypes.shape({
    form: PropTypes.shape(FormPropTypes).isRequired,
    iconEditor: PropTypes.shape(IconEditorPropTypes).isRequired
  }).isRequired,
  translations: translationPropTypes.isRequired,
  content: contentPropTypes.isRequired
};
export default SkillEditionPropTypes;
export const themeStyle = {
  setup: 'setup',
  coorpmanager: 'coorpmanager',
  cockpit: 'cockpit',
  default: 'defaultStyle'
};
//# sourceMappingURL=types.js.map