import * as React from 'react';
import { IGeneratedConcept } from '../Form/Context';
import { IActionButton } from './Actions';
interface IPresenterPublicProps<T> {
    title: string;
    presenterName: string;
    domainObject: IGeneratedConcept<T>;
    filterField?: string;
    exportFile?: string;
    reportEntryCommandName?: string;
    actions?: IActionButton[];
    userRoles: Set<string>;
    onForbidden: () => void;
    roles?: string[];
}
interface IPresenterStateProps<T> {
    values?: T;
}
interface IPresenter<T> extends React.PropsWithChildren<IPresenterPublicProps<T>>, IPresenterStateProps<T> {
}
export declare class PresenterBare<T> extends React.PureComponent<IPresenter<T>> {
    componentDidMount(): void;
    render(): JSX.Element;
    private checkRoles;
}
export declare const Presenter: React.ComponentType<IPresenterPublicProps<any>>;
export {};
