import { type IExecutionFactory } from "@gooddata/sdk-backend-spi";
import { type IInsightDefinition } from "@gooddata/sdk-model";
import { type IPushData } from "@gooddata/sdk-ui";
import { type IColorConfiguration } from "../../../interfaces/Colors.js";
import { type IBucketItem, type IBucketOfFun, type IExtendedReferencePoint, type IReferencePoint, type IVisConstruct, type IVisProps, type IVisualizationProperties } from "../../../interfaces/Visualization.js";
import { AbstractPluggableVisualization } from "../AbstractPluggableVisualization.js";
/**
 * PluggableRepeater
 *
 * ## Buckets
 *
 * | Name      | Id       -| Accepts              |
 * |-----------|-----------|----------------------|
 * | Attribute | attribute | attribute only       |
 * | Columns   | columns   | attribute or measure |
 * | ViewBy    | view      | attribute or date    |
 *
 *
 * ### Bucket axioms
 *
 * - |Attribute| = 1
 * - |Columns| ≥ 1
 * - |ViewBy| ≤ 1
 *
 * ## Dimensions
 *
 * The PluggableRepeater creates one or two dimensional execution, based on  the buckets.
 *
 * With main attribute and column attributes only:
 * - [[Attribute, ...ColumnAttributes]]
 * With main attribute, column attributes and viewBy:
 * - [[Attribute, ...ColumnAttributes], [ViewBy]]
 * With main attribute and column attributes and measures:
 * - [[Attribute, ...ColumnAttributes], [MeasureGroupIdentifier]]
 * With main attribute, column attributes and measures, and viewBy:
 * - [[Attribute, ...ColumnAttributes], [ViewBy, MeasureGroupIdentifier]]
 *
 */
export declare class PluggableRepeater extends AbstractPluggableVisualization {
    private environment;
    private renderFun;
    private unmountFun;
    protected colors: IColorConfiguration | undefined;
    constructor(props: IVisConstruct);
    unmount(): void;
    getExtendedReferencePoint: (referencePoint: IReferencePoint) => Promise<IExtendedReferencePoint>;
    getExecution(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): import("@gooddata/sdk-backend-spi").IPreparedExecution;
    getBucketsToUpdate(currentReferencePoint: IReferencePoint, nextReferencePoint: IReferencePoint): IBucketItem[] | undefined;
    private getRepeaterDimensions;
    private insightHasColumns;
    private insightHasRows;
    protected mergeDerivedBucketItems(_referencePoint: IReferencePoint, bucket: IBucketOfFun, newDerivedBucketItems: IBucketItem[]): IBucketItem[];
    protected checkBeforeRender(insight: IInsightDefinition): boolean;
    protected initializeProperties(visualizationProperties: IVisualizationProperties): void;
    private onColumnResized;
    private buildColumnSizing;
    private buildColorMapping;
    private getExtendedConfig;
    protected handleConfirmedColorMapping(data: IPushData): void;
    protected handlePushData: (data: IPushData) => void;
    protected renderVisualization(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): void;
    protected renderConfigurationPanel(insight: IInsightDefinition, options: IVisProps): void;
}
//# sourceMappingURL=PluggableRepeater.d.ts.map