// @flow
import PropTypes from 'prop-types';

// TODO: Ask Niv what this should be
// $FlowFixMe
export type Attachment = any;

export type FileUploaderProps = {
  onDropAttachmentHandler: (Attachment[]) => void,
  onClickRemoveHandler: Attachment => void,
  attachments: Attachment[],
  attachmentsError?: ?string,
  acceptedFileTypes: string,
  savePending: boolean,
  withoutFilesPrompt: string,
  withFilesPrompt: string,
  tip: string,
};

export const fileUploaderPropTypes = {
  onDropAttachmentHandler: PropTypes.func.isRequired,
  onClickRemoveHandler: PropTypes.func.isRequired,
  attachments: PropTypes.array.isRequired,
  attachmentsError: PropTypes.string,
  acceptedFileTypes: PropTypes.string.isRequired,
  savePending: PropTypes.bool.isRequired,
  withoutFilesPrompt: PropTypes.string.isRequired,
  withFilesPrompt: PropTypes.string.isRequired,
  tip: PropTypes.string.isRequired,
};
