import { VisualizationObject } from "@gooddata/typings";
import IVisualizationObjectContent = VisualizationObject.IVisualizationObjectContent;
import { IReferencePoint, IExtendedReferencePoint, IVisualization, IBucketItem, IVisProps, IVisualizationPropertiesWrapper, IBucket, IReferences } from "../../interfaces/Visualization";
export declare abstract class AbstractPluggableVisualization implements IVisualization {
    protected supportedPropertiesList: string[];
    addNewDerivedBucketItems(referencePoint: IReferencePoint, newDerivedBucketItems: IBucketItem[]): Promise<IReferencePoint>;
    abstract unmount(): void;
    abstract getExtendedReferencePoint(referencePoint: IReferencePoint): Promise<IExtendedReferencePoint>;
    abstract update(props: IVisProps, visualizationProperties: IVisualizationPropertiesWrapper, mdObject: IVisualizationObjectContent, references: IReferences): void;
    protected mergeDerivedBucketItems(referencePoint: IReferencePoint, bucket: IBucket, newDerivedBucketItems: IBucketItem[]): IBucketItem[];
}
