"use strict";

import _ from 'lodash';
import { events } from "../Stores/EventsStore.js";
export class NativeEventsReceiver {
  registerAppLaunchedListener(callback) {
    callback();
    return {
      remove: () => {}
    };
  }
  registerComponentWillAppearListener(callback) {
    events.componentWillAppear.push(callback);
    return {
      remove: () => {
        _.remove(events.componentWillAppear, value => value === callback);
      }
    };
  }
  registerComponentDidAppearListener(callback) {
    events.componentDidAppear.push(callback);
    return {
      remove: () => {
        _.remove(events.componentDidAppear, value => value === callback);
      }
    };
  }
  registerComponentDidDisappearListener(callback) {
    events.componentDidDisappear.push(callback);
    return {
      remove: () => {
        _.remove(events.componentDidDisappear, value => value === callback);
      }
    };
  }
  registerNavigationButtonPressedListener(callback) {
    events.navigationButtonPressed.push(callback);
    return {
      remove: () => {
        _.remove(events.navigationButtonPressed, value => value === callback);
      }
    };
  }
  registerBottomTabPressedListener(callback) {
    events.bottomTabPressed.push(callback);
    return {
      remove: () => {
        _.remove(events.bottomTabPressed, value => value === callback);
      }
    };
  }
  registerModalDismissedListener(callback) {
    events.modalDismissed.push(callback);
    return {
      remove: () => {
        _.remove(events.modalDismissed, value => value === callback);
      }
    };
  }
  registerModalAttemptedToDismissListener(_callback) {
    return {
      remove: () => {}
    };
  }
  registerSearchBarUpdatedListener(_callback) {
    return {
      remove: () => {}
    };
  }
  registerSearchBarCancelPressedListener(_callback) {
    return {
      remove: () => {}
    };
  }
  registerPreviewCompletedListener(_callback) {
    return {
      remove: () => {}
    };
  }
  registerCommandCompletedListener(callback) {
    events.commandCompleted.push(callback);
    return {
      remove: () => {}
    };
  }
  registerBottomTabSelectedListener(_callback) {
    return {
      remove: () => {}
    };
  }
  registerBottomTabLongPressedListener(_callback) {
    return {
      remove: () => {}
    };
  }
  registerScreenPoppedListener(callback) {
    events.screenPopped.push(callback);
    return {
      remove: () => {}
    };
  }
}
//# sourceMappingURL=NativeEventsReceiver.js.map