import { type IExecutionFactory } from "@gooddata/sdk-backend-spi";
import { type IDimension, type IInsight, type IInsightDefinition, type ISettings } from "@gooddata/sdk-model";
import { type VisualizationEnvironment } from "@gooddata/sdk-ui";
import { type PivotTableNextConfig } from "@gooddata/sdk-ui-pivot/next";
import { type IDrillDownContext, type IExtendedReferencePoint, type IGdcConfig, type IReferencePoint, type IVisConstruct, type IVisProps, type IVisualizationProperties } from "../../../interfaces/Visualization.js";
import { AbstractPluggableVisualization } from "../AbstractPluggableVisualization.js";
export declare function createPivotTableNextConfig(config: IGdcConfig, environment: VisualizationEnvironment, settings: ISettings): PivotTableNextConfig;
/**
 * Pluggable component for pivot table next.
 *
 * This component uses CorePivotTableNext component to render the pivot table. It creates its own execution and unlike PivotTableNext or CorePivotTableNext,
 * it does its own validation and sanitization of the props from extended reference point and visualization properties.
 */
export declare class PluggablePivotTableNext extends AbstractPluggableVisualization {
    private renderFun;
    private unmountFun;
    private readonly settings;
    private backendCapabilities;
    private environment;
    constructor(props: IVisConstruct);
    unmount(): void;
    getExtendedReferencePoint(referencePoint: IReferencePoint, previousReferencePoint?: IReferencePoint): Promise<IExtendedReferencePoint>;
    getInsightWithDrillDownApplied(sourceVisualization: IInsight, drillDownContext: IDrillDownContext, backendSupportsElementUris: boolean): IInsight;
    private getSanitizedConfig;
    getExecution(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): import("@gooddata/sdk-backend-spi").IPreparedExecution;
    protected initializeProperties(visualizationProperties: IVisualizationProperties): void;
    private createCorePivotTableProps;
    protected updateInstanceProperties(options: IVisProps, insight: IInsightDefinition, insightPropertiesMeta: any): void;
    protected checkBeforeRender(insight: IInsightDefinition): boolean;
    protected renderVisualization(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): void;
    protected renderConfigurationPanel(insight: IInsightDefinition, options: IVisProps): void;
    protected getDimensions(insight: IInsightDefinition, customVisualizationConfig?: any): IDimension[];
    private adaptPropertiesToInsight;
    private sanitizeColumnWidths;
    private onColumnResized;
    private handlePushData;
}
//# sourceMappingURL=PluggablePivotTableNext.d.ts.map