import { PureComponent } from "react"; import { type IAnalyticalBackend, type IPreparedExecution } from "@gooddata/sdk-backend-spi"; import { type IExecutionConfig, type IInsight, type IInsightDefinition, type ISettings, type ITheme, type IVisualizationClass, type IWorkspacePermissions } from "@gooddata/sdk-model"; import { type ExplicitDrill, type ILocale, type OnError, type OnExportReady, type OnLoadingChanged, type VisualizationEnvironment } from "@gooddata/sdk-ui"; import { type IVisualizationCatalog } from "./VisualizationCatalog.js"; import { type ISortConfig } from "../interfaces/SortConfig.js"; import { type IBucketItem, type IConfigurationPanelRenderers, type IDrillDownContext, type IExtendedReferencePoint, type IGdcConfig, type IReferencePoint, type IVisCallbacks } from "../interfaces/Visualization.js"; export interface IBaseVisualizationProps extends IVisCallbacks { backend: IAnalyticalBackend; projectId: string; insight: IInsightDefinition; insightPropertiesMeta?: any; config?: IGdcConfig; executionConfig?: IExecutionConfig; visualizationClass: IVisualizationClass; environment?: VisualizationEnvironment; width?: number; height?: number; locale?: ILocale; messages: Record; dateFormat?: string; drillableItems?: ExplicitDrill[]; totalsEditAllowed?: boolean; featureFlags?: ISettings; permissions?: IWorkspacePermissions; visualizationCatalog?: IVisualizationCatalog; newDerivedBucketItems?: IBucketItem[]; referencePoint?: IReferencePoint; onError: OnError; onExportReady?: OnExportReady; onLoadingChanged: OnLoadingChanged; isMdObjectValid?: boolean; configPanelClassName?: string; theme?: ITheme; lastSavedVisClassUrl?: string; sourceInsightId?: string; onExtendedReferencePointChanged?(referencePoint: IExtendedReferencePoint, sortConfig?: ISortConfig): void; onSortingChanged?(sortConfig: ISortConfig): void; onNewDerivedBucketItemsPlaced?(): void; renderer?(component: any, target: Element): void; unmount?(): void; configurationPanelRenderers?: IConfigurationPanelRenderers; supportsChartFill?: boolean; } export declare class BaseVisualization extends PureComponent { static defaultProps: Pick; private visElementId; private visualization; private executionFactory; private containerRef; /** * The component may render both visualization and config panel. In React18 we therefore need two * roots with their respective render methods. This Map holds the roots for both and provides * render and unmount methods whenever needed. */ private reactRootsMap; constructor(props: IBaseVisualizationProps); componentWillUnmount(): void; UNSAFE_componentWillReceiveProps(nextProps: IBaseVisualizationProps): void; componentDidMount(): void; componentDidUpdate(): void; render(): import("react/jsx-runtime").JSX.Element; private getVisElementClassName; private getClassName; private setupVisualization; private getReactRenderFunction; private getReactUnmountFunction; private updateVisualization; private triggerPlaceNewDerivedBucketItems; private triggerExtendedReferencePointChanged; private triggerPropertiesChanged; private static bucketReferencePointHasChanged; private static propertiesControlsHasChanged; private somePropertiesRelevantForReferencePointChanged; private getVisualizationProps; getInsightWithDrillDownApplied(sourceVisualization: IInsight, drillDownContext: IDrillDownContext): IInsight; getExecution(): IPreparedExecution | null; getExecutions(): IPreparedExecution[] | undefined; } //# sourceMappingURL=BaseVisualization.d.ts.map