import { type IInsightWidget, type ObjRef } from "@gooddata/sdk-model";
import { type DashboardContext } from "../types/commonTypes.js";
import { type IDashboardEvent } from "./base.js";
/**
 * Payload of the {@link IDashboardVisualizationSwitcherWidgetVisualizationAdded} event.
 * @beta
 */
export interface IDashboardVisualizationSwitcherWidgetVisualizationAddedPayload {
    /**
     * Reference to changed visualization switcher widget.
     */
    readonly ref: ObjRef;
    /**
     * Visualization to add onto switcher widget.
     */
    readonly visualization: IInsightWidget;
}
/**
 * This event is emitted when the new visualization is added to the dashboard's visualization switcher widget.
 *
 * @beta
 */
export interface IDashboardVisualizationSwitcherWidgetVisualizationAdded extends IDashboardEvent {
    readonly type: "GDC.DASH/EVT.VISUALIZATION_SWITCHER_WIDGET.VISUALIZATION_ADDED";
    readonly payload: IDashboardVisualizationSwitcherWidgetVisualizationAddedPayload;
}
/**
 * @internal
 */
export declare function visualizationSwitcherWidgetVisualizationAdded(ctx: DashboardContext, ref: ObjRef, visualization: IInsightWidget, correlationId?: string): IDashboardVisualizationSwitcherWidgetVisualizationAdded;
/**
 * Tests whether the provided object is an instance of {@link IDashboardVisualizationSwitcherWidgetVisualizationAdded}.
 *
 * @param obj - object to test
 * @beta
 */
export declare const isDashboardVisualizationSwitcherWidgetVisualizationAdded: (obj: unknown) => obj is IDashboardVisualizationSwitcherWidgetVisualizationAdded;
/**
 * Payload of the {@link IDashboardVisualizationSwitcherWidgetVisualizationsUpdated} event.
 * @beta
 */
export interface IDashboardVisualizationSwitcherWidgetVisualizationsUpdatedPayload {
    /**
     * Reference to changed visualization switcher widget.
     */
    readonly ref: ObjRef;
    /**
     * Visualizations to update from switcher widget.
     */
    readonly visualizations: IInsightWidget[];
}
/**
 * This event is emitted when the dashboard's visualization switcher visualizations is updated.
 *
 * @beta
 */
export interface IDashboardVisualizationSwitcherWidgetVisualizationsUpdated extends IDashboardEvent {
    readonly type: "GDC.DASH/EVT.VISUALIZATION_SWITCHER_WIDGET.VISUALIZATIONS_UPDATED";
    readonly payload: IDashboardVisualizationSwitcherWidgetVisualizationsUpdatedPayload;
}
/**
 * @internal
 */
export declare function visualizationSwitcherWidgetVisualizationsUpdated(ctx: DashboardContext, ref: ObjRef, visualizations: IInsightWidget[], correlationId?: string): IDashboardVisualizationSwitcherWidgetVisualizationsUpdated;
/**
 * Tests whether the provided object is an instance of {@link IDashboardVisualizationSwitcherWidgetVisualizationsUpdated}.
 *
 * @param obj - object to test
 * @beta
 */
export declare const isDashboardVisualizationSwitcherWidgetVisualizationsUpdated: (obj: unknown) => obj is IDashboardVisualizationSwitcherWidgetVisualizationsUpdated;
//# sourceMappingURL=visualizationSwitcher.d.ts.map