import * as React from "react";
import { WrappedComponentProps } from "react-intl";
import { ISeparators } from "@gooddata/numberjs";
import { VisualizationObject } from "@gooddata/typings";
import { IMappingHeader } from "../../../../interfaces/MappingHeader";
import { ITotalWithData } from "../../../../interfaces/Totals";
export interface ITotalCellProps {
    totalsWithData: ITotalWithData[];
    columnIndex: number;
    header: IMappingHeader;
    headersCount: number;
    firstMeasureIndex: number;
    editAllowed?: boolean;
    separators?: ISeparators;
    onCellMouseOver?: (rowIndex: number, columnIndex: number) => void;
    onCellMouseLeave?: (rowIndex: number, columnIndex: number) => void;
    onEnableColumn?: (columnIndex: number, totalType: VisualizationObject.TotalType) => void;
    onDisableColumn?: (columnIndex: number, totalType: VisualizationObject.TotalType) => void;
    onAddDropdownOpenStateChanged?: (columnIndex: number, isOpened: boolean) => void;
    onAddWrapperHover?: (columnIndex: number, isHighlighted: boolean) => void;
    onAddButtonHover?: (columnIndex: number, isHovering: boolean) => void;
    onRowAdd?: (columnIndex: number, totalType: VisualizationObject.TotalType) => void;
}
export declare class TotalCellPure extends React.Component<ITotalCellProps & WrappedComponentProps> {
    static defaultProps: Partial<ITotalCellProps & WrappedComponentProps>;
    render(): JSX.Element;
    private renderAddTotalButton;
    private renderEditCell;
    private renderHeaderCellContent;
    private renderMeasureCellContent;
    private renderCellContent;
}
export declare const TotalCell: React.FunctionComponent<import("react-intl").WithIntlProps<ITotalCellProps & WrappedComponentProps<"intl">>> & {
    WrappedComponent: React.ComponentType<ITotalCellProps & WrappedComponentProps<"intl">>;
};
