
/**
 * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
 *
 * Do not edit this file as changes may cause incorrect behavior and will be lost
 * once the code is regenerated.
 *
 * @generated by codegen project: GenerateEventEmitterH.js
 */
#pragma once

#include <react/renderer/components/view/ViewEventEmitter.h>
#include <folly/dynamic.h>

namespace facebook::react {
class EnrichedTextInputViewEventEmitter : public ViewEventEmitter {
 public:
  using ViewEventEmitter::ViewEventEmitter;

  struct OnInputFocus {
      int target;
    };

  struct OnInputBlur {
      int target;
    };

  struct OnChangeText {
      std::string value;
    };

  struct OnChangeHtml {
      std::string value;
    };

  struct OnChangeStateBold {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateItalic {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateUnderline {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateStrikeThrough {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateInlineCode {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateH1 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateH2 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateH3 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateH4 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateH5 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateH6 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateCodeBlock {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateBlockQuote {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateOrderedList {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateUnorderedList {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateLink {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateImage {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateMention {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeStateCheckboxList {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnChangeState {
      OnChangeStateBold bold;
    OnChangeStateItalic italic;
    OnChangeStateUnderline underline;
    OnChangeStateStrikeThrough strikeThrough;
    OnChangeStateInlineCode inlineCode;
    OnChangeStateH1 h1;
    OnChangeStateH2 h2;
    OnChangeStateH3 h3;
    OnChangeStateH4 h4;
    OnChangeStateH5 h5;
    OnChangeStateH6 h6;
    OnChangeStateCodeBlock codeBlock;
    OnChangeStateBlockQuote blockQuote;
    OnChangeStateOrderedList orderedList;
    OnChangeStateUnorderedList unorderedList;
    OnChangeStateLink link;
    OnChangeStateImage image;
    OnChangeStateMention mention;
    OnChangeStateCheckboxList checkboxList;
    std::string alignment;
    };

  struct OnLinkDetected {
      std::string text;
    std::string url;
    int start;
    int end;
    };

  struct OnMentionDetected {
      std::string text;
    std::string indicator;
    std::string payload;
    };

  struct OnMention {
      std::string indicator;
    folly::dynamic text;
    };

  struct OnChangeSelection {
      int start;
    int end;
    std::string text;
    };

  struct OnRequestHtmlResult {
      int requestId;
    folly::dynamic html;
    };

  struct OnInputKeyPress {
      std::string key;
    };

  struct OnPasteImagesImages {
      std::string uri;
    std::string type;
    Float width;
    Float height;
    };

  struct OnPasteImages {
      std::vector<OnPasteImagesImages> images;
    };

  struct OnContextMenuItemPressStyleStateBold {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateItalic {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateUnderline {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateStrikeThrough {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateInlineCode {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateH1 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateH2 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateH3 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateH4 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateH5 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateH6 {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateCodeBlock {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateBlockQuote {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateOrderedList {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateUnorderedList {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateLink {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateImage {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateMention {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleStateCheckboxList {
      bool isActive;
    bool isConflicting;
    bool isBlocking;
    };

  struct OnContextMenuItemPressStyleState {
      OnContextMenuItemPressStyleStateBold bold;
    OnContextMenuItemPressStyleStateItalic italic;
    OnContextMenuItemPressStyleStateUnderline underline;
    OnContextMenuItemPressStyleStateStrikeThrough strikeThrough;
    OnContextMenuItemPressStyleStateInlineCode inlineCode;
    OnContextMenuItemPressStyleStateH1 h1;
    OnContextMenuItemPressStyleStateH2 h2;
    OnContextMenuItemPressStyleStateH3 h3;
    OnContextMenuItemPressStyleStateH4 h4;
    OnContextMenuItemPressStyleStateH5 h5;
    OnContextMenuItemPressStyleStateH6 h6;
    OnContextMenuItemPressStyleStateCodeBlock codeBlock;
    OnContextMenuItemPressStyleStateBlockQuote blockQuote;
    OnContextMenuItemPressStyleStateOrderedList orderedList;
    OnContextMenuItemPressStyleStateUnorderedList unorderedList;
    OnContextMenuItemPressStyleStateLink link;
    OnContextMenuItemPressStyleStateImage image;
    OnContextMenuItemPressStyleStateMention mention;
    OnContextMenuItemPressStyleStateCheckboxList checkboxList;
    std::string alignment;
    };

  struct OnContextMenuItemPress {
      std::string itemText;
    std::string selectedText;
    int selectionStart;
    int selectionEnd;
    OnContextMenuItemPressStyleState styleState;
    };

  struct OnSubmitEditing {
      std::string text;
    };
  void onInputFocus(OnInputFocus value) const;

  void onInputBlur(OnInputBlur value) const;

  void onChangeText(OnChangeText value) const;

  void onChangeHtml(OnChangeHtml value) const;

  void onChangeState(OnChangeState value) const;

  void onLinkDetected(OnLinkDetected value) const;

  void onMentionDetected(OnMentionDetected value) const;

  void onMention(OnMention value) const;

  void onChangeSelection(OnChangeSelection value) const;

  void onRequestHtmlResult(OnRequestHtmlResult value) const;

  void onInputKeyPress(OnInputKeyPress value) const;

  void onPasteImages(OnPasteImages value) const;

  void onContextMenuItemPress(OnContextMenuItemPress value) const;

  void onSubmitEditing(OnSubmitEditing value) const;
};
class EnrichedTextViewEventEmitter : public ViewEventEmitter {
 public:
  using ViewEventEmitter::ViewEventEmitter;

  struct OnLinkPress {
      std::string url;
    };

  struct OnMentionPress {
      std::string text;
    std::string indicator;
    folly::dynamic attributes;
    };
  void onLinkPress(OnLinkPress value) const;

  void onMentionPress(OnMentionPress value) const;
};
} // namespace facebook::react
