/// <reference types="react" />
import { AFM, VisualizationObject } from "@gooddata/typings";
import * as VisEvents from "../../../../interfaces/Events";
import { IBucket, IBucketItem, IExtendedReferencePoint, IReferencePoint, IVisConstruct, IVisProps, IVisualizationPropertiesWrapper, IReferences } from "../../../interfaces/Visualization";
import { AbstractPluggableVisualization } from "../AbstractPluggableVisualization";
import { IPivotTableProps } from "../../../../components/core/PivotTable";
import { IPivotTableConfig } from "../../../../interfaces/PivotTable";
export declare const getColumnAttributes: (buckets: IBucket[]) => IBucketItem[];
export declare const getRowAttributes: (buckets: IBucket[]) => IBucketItem[];
export declare class PluggablePivotTable extends AbstractPluggableVisualization {
    private projectId;
    private element;
    private configPanelElement;
    private callbacks;
    private intl;
    private visualizationProperties;
    private references;
    private locale;
    private environment;
    private featureFlags;
    constructor(props: IVisConstruct);
    unmount(): void;
    update(options: IVisProps, visualizationProperties: IVisualizationPropertiesWrapper, mdObject: VisualizationObject.IVisualizationObjectContent, references: IReferences): void;
    getExtendedReferencePoint(referencePoint: IReferencePoint, previousReferencePoint?: IReferencePoint): Promise<IExtendedReferencePoint>;
    getExtendedPivotTableProps(pivotTableProps: IPivotTableProps, config: IPivotTableConfig): IPivotTableProps;
    protected renderVisualization(options: IVisProps, visualizationProperties: IVisualizationPropertiesWrapper, mdObject: VisualizationObject.IVisualizationObjectContent): void;
    protected createTable(props: IPivotTableProps): JSX.Element;
    protected onExportReady(exportResult: VisEvents.IExportFunction): void;
    protected renderConfigurationPanel(mdObject: VisualizationObject.IVisualizationObjectContent): void;
    protected getDimensions(mdObject: VisualizationObject.IVisualizationObjectContent): AFM.IDimension[];
    private adaptPropertiesToMdObject;
    private sanitizeColumnWidths;
    private enrichConfigWithMenu;
    private onColumnResized;
    private handlePushData;
    private getPivotTablePropsFromFeatureFlags;
}
