react-native-navigation
Version:
React Native Navigation - truly native navigation for iOS and Android
29 lines (28 loc) • 1.73 kB
TypeScript
import type { Component } from 'react';
import { EventSubscription } from '../interfaces/EventSubscription';
import { NavigationComponentListener } from '../interfaces/NavigationComponentListener';
import { ComponentWillAppearEvent, ComponentDidAppearEvent, ComponentDidDisappearEvent, NavigationButtonPressedEvent, SearchBarUpdatedEvent, SearchBarCancelPressedEvent, PreviewCompletedEvent, ScreenPoppedEvent } from '../interfaces/ComponentEvents';
import { NativeEventsReceiver } from '../adapters/NativeEventsReceiver';
import { Store } from '../components/Store';
export declare class ComponentEventsObserver {
private readonly nativeEventsReceiver;
private readonly store;
private listeners;
private alreadyRegistered;
constructor(nativeEventsReceiver: NativeEventsReceiver, store: Store);
registerOnceForAllComponentEvents(): void;
bindComponent(component: Component<{
componentId?: string;
}>, componentId?: string): EventSubscription;
registerComponentListener(listener: NavigationComponentListener, componentId: string): EventSubscription;
unmounted(componentId: string): void;
notifyComponentWillAppear(event: ComponentWillAppearEvent): void;
notifyComponentDidAppear(event: ComponentDidAppearEvent): void;
notifyComponentDidDisappear(event: ComponentDidDisappearEvent): void;
notifyNavigationButtonPressed(event: NavigationButtonPressedEvent): void;
notifySearchBarUpdated(event: SearchBarUpdatedEvent): void;
notifySearchBarCancelPressed(event: SearchBarCancelPressedEvent): void;
notifyPreviewCompleted(event: PreviewCompletedEvent): void;
notifyScreenPopped(event: ScreenPoppedEvent): void;
private triggerOnAllListenersByComponentId;
}