import "../../CommonImports";
import "../../Core/core.css";
import * as React from "react";
import { IObserverProps } from "./Observer.Props";
export interface IObserverState {
values: {
[propName: string]: any;
};
oldProps: IObserverProps;
}
/**
* Handles subscription to properties that are IObservableValues, so that components don't have to handle on their own.
*
* Usage:
*
*
*
*
*
* Your component will get re-rendered with the new value of myObservableValue whenever that value changes.
* Additionally, any additional props set on the Observer will also get passed down.
*/
export declare class Observer extends React.Component {
static getDerivedStateFromProps(props: Readonly, state: Readonly): Partial;
private subscribedProps;
private subscriptions;
constructor(props: Readonly);
render(): JSX.Element;
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
subscribe(propName: string, props: IObserverProps): void;
unsubscribe(propName: string, props: IObserverProps): void;
private updateSubscriptionsAndStateAfterRender;
private onValueChanged;
}