import * as React from 'react';
import { IApiService, IBootConfig } from '../../configuration/ApplicationConfiguration';
import { IApiContext } from '../Api/ApiContext';
import { IFieldRegistryContext } from '../FieldRegistry/FieldRegistryContext';
import { II18nContext } from '../I18n/I18n';
import { INavigationContext } from '../Navigation/NavigationContext';
import { INotificationContext } from '../Notification/NotificationContext';
import { ILoaderContext } from '../Loader/Loader';
export interface IDslApplication extends IApiContext, INavigationContext, INotificationContext, ILoaderContext, Omit<IFieldRegistryContext, 'visibility'> {
    api: IApiService;
    i18n: II18nContext;
    marshalling: IBootConfig;
    visibility?: IFieldRegistryContext['visibility'];
}
export interface IDslApplicationState {
    api: IApiContext;
    i18n: II18nContext;
    fields: IFieldRegistryContext;
    loading: ILoaderContext;
    navigation: INavigationContext;
    notification: INotificationContext;
}
export declare class DslApplication extends React.PureComponent<IDslApplication, IDslApplicationState> {
    state: IDslApplicationState;
    constructor(props: IDslApplication);
    componentDidUpdate(prevProps: IDslApplication): void;
    render(): JSX.Element;
}
