'use strict';

exports.__esModule = true;
exports.TutorialProp = exports.TutorialStepProp = exports.StepSnippetProp = exports.EndpointProp = exports.CodeOptionProp = undefined;

var _propTypes = require('prop-types');

var _propTypes2 = _interopRequireDefault(_propTypes);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var CodeOptionProp = _propTypes2.default.shape({
  code: _propTypes2.default.string,
  language: _propTypes2.default.string,
  name: _propTypes2.default.string
});

var EndpointProp = _propTypes2.default.shape({
  method: _propTypes2.default.string,
  page: _propTypes2.default.string,
  slug: _propTypes2.default.string,
  title: _propTypes2.default.string
});

var StepSnippetProp = _propTypes2.default.shape({
  codeOptions: _propTypes2.default.arrayOf(CodeOptionProp),
  endpoint: EndpointProp
});

var TutorialStepProp = _propTypes2.default.shape({
  body: _propTypes2.default.string,
  isOpen: _propTypes2.default.bool,
  lineNumbers: _propTypes2.default.arrayOf(_propTypes2.default.string),
  title: _propTypes2.default.string
});

var TutorialProp = _propTypes2.default.shape({
  _id: _propTypes2.default.string,
  backgroundColor: _propTypes2.default.string,
  className: _propTypes2.default.string,
  description: _propTypes2.default.string,
  emoji: _propTypes2.default.string,
  hero: _propTypes2.default.bool,
  published: _propTypes2.default.bool,
  referenceDisplay: _propTypes2.default.arrayOf(_propTypes2.default.string),
  response: _propTypes2.default.string,
  slug: _propTypes2.default.string,
  snippet: StepSnippetProp,
  stepCount: _propTypes2.default.number,
  steps: _propTypes2.default.arrayOf(TutorialStepProp),
  title: _propTypes2.default.string,
  version: _propTypes2.default.string
});

exports.CodeOptionProp = CodeOptionProp;
exports.EndpointProp = EndpointProp;
exports.StepSnippetProp = StepSnippetProp;
exports.TutorialStepProp = TutorialStepProp;
exports.TutorialProp = TutorialProp;