import { ReactNode } from 'react'; import { Observable } from 'rxjs'; /** * unwrap an observable value, return it to the component for rendering, and * trigger re-render when value changes * * **IMPORTANT**. Parent and child components better not subscribe to the same * observable, otherwise unnecessary re-render would be triggered. Instead, the * top-most component should subscribe and pass value of the observable to * its offspring, by props or context. Please consider using `useDependencyContext` and * `useDependencyContextValue` in this case. * * @deprecated Please use `useObservable` instead. */ export declare function useDependencyValue(depValue$: Observable, defaultValue?: T): T | undefined; type ObservableOrFn = Observable | (() => Observable); type Nullable = T | undefined | null; export declare function useObservable(observable: Nullable>): T | undefined; export declare function useObservable(observable: Nullable>, defaultValue: T): T; export declare function useObservable(observable: Nullable>, defaultValue: undefined, shouldHaveSyncValue: true, deps?: any[]): T; export declare function useObservable(observable: Nullable>, defaultValue?: undefined, shouldHaveSyncValue?: true, deps?: any[]): T | undefined; /** * subscribe to a signal that emits whenever data updates and re-render * * @param update$ a signal that the data the functional component depends has updated */ export declare function useUpdateBinder(update$: Observable): void; /** * subscribe to an observable value from a service, creating a context for it so * it child component won't have to subscribe again and cause unnecessary */ export declare function useDependencyContext(depValue$: Observable, defaultValue?: T): { Provider: (props: { initialState?: T; children: ReactNode; }) => JSX.Element; value: T | undefined; }; export declare function useDependencyContextValue(depValue$: Observable): T | undefined; export {};