///
import * as React from 'react';
import { RawThrottleType } from '../core/Throttle';
import { RawListenerType } from '../core/Listener';
import NervNode from '../core/NervNode';
import { CenterContextType } from './NervCenter';
import NervAdHoc from './NervAdHoc';
export default class NervComponent extends React.PureComponent {
readonly nervNode: NervNode;
protected inThrottle: RawThrottleType;
protected outThrottle: RawThrottleType;
private ownerContext;
private name;
static contextTypes: {
__NERV__CenterNode: any;
__NERV__MountToParent: any;
__NERV__UnmountFromParent: any;
};
static childContextTypes: {
__NERV__CenterNode: any;
__NERV__MountToParent: any;
__NERV__UnmountFromParent: any;
};
constructor(props: T, context: CenterContextType);
getChildContext(): {
__NERV__CenterNode: NervNode;
__NERV__MountToParent: any;
__NERV__UnmountFromParent: any;
};
componentWillUnmount(): void;
protected listenNerv(): RawListenerType;
protected bindAdHoc(child: NervAdHoc): void;
protected unbindAdHoc(child: NervAdHoc): void;
protected dispatch(path: string, data?: any, async?: boolean): Promise<{
data: any;
error: any;
}>;
protected dispatchUp(path: string, data?: any, async?: boolean): Promise<{
data: any;
error: any;
}>;
protected dispatchDown(path: string, data?: any, async?: boolean): Promise<{
data: any;
error: any;
}>;
protected broadcast(path: string, data?: any, async?: boolean): Promise<{
data: any;
error: any;
}>;
}