import * as React from 'react';
import { ButtonVariant } from 'react-bootstrap/esm/types';
import { ApiContext } from '../Api/ApiContext';
import { IComponentButtonProps } from '../Buttons/interfaces';
export interface ISimpleButtonAction {
    className?: string;
    disabled?: boolean;
    label: string;
    url?: string;
    variant?: ButtonVariant;
    isVisible?: (actionsProps: IActions) => boolean;
    onClick?: (actionProps?: IActions) => void;
}
interface IComponentActionButton {
    Component: React.ComponentType<IComponentButtonProps>;
    values?: any;
    isVisible?: (actionsProps: IActions) => boolean;
}
export declare type IActionButton = ISimpleButtonAction | IComponentActionButton;
export interface IActions {
    presenterName?: string;
    conceptName?: string;
    reportEntryCommandName?: string;
    templateType?: string;
    filterField?: string;
    actions: IActionButton[];
    userRoles?: Set<any>;
}
export declare class Actions extends React.PureComponent<IActions> {
    static contextType: React.Context<import("../Api/ApiContext").IApiContext | undefined>;
    context: React.ContextType<typeof ApiContext>;
    private get buttons();
    render(): JSX.Element;
    private renderExportButton;
}
export {};
