/// <reference types="react" />
import { IApplicationConfig, IVersion } from '@nbsolutions/interfaces';
import { Application } from '../Application';
import { ViewComponent, IViewComponentProps, IViewComponentState, IUsable } from '@nbsolutions/view-component';
export interface IApplicationProps<TApplicationConfig extends IApplicationConfig = IApplicationConfig> extends IViewComponentProps {
    controller: Application<TApplicationConfig>;
}
export interface IApplicationState extends IViewComponentState {
}
export declare class ApplicationView<TApplicationConfig extends IApplicationConfig = IApplicationConfig, TApplicationProps extends IApplicationProps<TApplicationConfig> = IApplicationProps<TApplicationConfig>> extends ViewComponent<TApplicationProps, IApplicationState> {
    constructor(props: TApplicationProps);
    protected _getInitialState(props: IApplicationState): IApplicationState;
    protected _getUsableStyles(): IUsable;
    getName(): string;
    getConfig(): TApplicationConfig;
    getVersion(): IVersion;
    render(): JSX.Element;
}
