import { PureComponent, type ReactNode } from "react";
import { type IInsightDefinition, type ISettings } from "@gooddata/sdk-model";
import { type ChartType } from "@gooddata/sdk-ui";
import { type SectionName } from "./sectionName.js";
import { type IColorConfiguration } from "../../interfaces/Colors.js";
import { type IConfigurationPanelRenderers, type IReferencePoint, type IReferences, type IVisualizationProperties } from "../../interfaces/Visualization.js";
export interface IConfigurationPanelContentProps<PanelConfig = any> {
    properties?: IVisualizationProperties;
    references?: IReferences;
    referencePoint?: IReferencePoint;
    propertiesMeta?: any;
    colors?: IColorConfiguration;
    locale: string;
    type?: ChartType;
    isError?: boolean;
    isLoading?: boolean;
    insight?: IInsightDefinition;
    featureFlags?: ISettings;
    axis?: string;
    pushData?(data: any): void;
    panelConfig?: PanelConfig;
    configurationPanelRenderers?: IConfigurationPanelRenderers;
}
export declare abstract class ConfigurationPanelContent<T extends IConfigurationPanelContentProps = IConfigurationPanelContentProps> extends PureComponent<T> {
    static defaultProps: IConfigurationPanelContentProps;
    protected supportedPropertiesList: string[] | undefined;
    constructor(props: T);
    render(): import("react/jsx-runtime").JSX.Element;
    protected abstract renderConfigurationPanel(): ReactNode;
    /**
     * Optionally pass a sectionName to specialize disabling logic for specific sections.
     * Default logic disables if no measures, error, or loading.
     */
    protected isControlDisabled(_sectionName?: SectionName): boolean;
    protected renderColorSection(): ReactNode;
    protected renderLegendSection(): ReactNode;
    protected renderInteractionsSection(): ReactNode;
    protected renderForecastSection(): ReactNode;
    protected renderAdvancedSection(): ReactNode;
}
//# sourceMappingURL=ConfigurationPanelContent.d.ts.map