///
import React = require("react");
import { IBus } from "@tandem/mesh";
import { Kernel, IInjectable } from "@tandem/common/ioc";
import { Logger } from "@tandem/common/logger";
export interface IApplicationComponentContext {
bus: IBus;
kernel: Kernel;
}
export declare const appComponentContextTypes: {
bus: React.Requireable;
kernel: React.Requireable;
};
export declare class BaseApplicationComponent extends React.Component implements IInjectable {
protected readonly logger: Logger;
static contextTypes: {
bus: React.Requireable;
kernel: React.Requireable;
};
protected readonly bus: IBus;
protected readonly kernel: Kernel;
constructor(props: T, context: IApplicationComponentContext);
$didInject(): void;
}
export declare class RootApplicationComponent extends React.Component implements IInjectable {
static childContextTypes: {
bus: React.Requireable;
kernel: React.Requireable;
};
getChildContext(): {
bus: IBus;
kernel: Kernel;
};
render(): JSX.Element;
}