import type { OptionalVisualizationSwitcherComponentProvider, OptionalVisualizationSwitcherToolbarComponentProvider, VisualizationSwitcherComponentProvider, VisualizationSwitcherToolbarComponentProvider } from "../../presentation/dashboardContexts/types.js"; import { type IVisualizationSwitcherCustomizer } from "../customizer.js"; import { type IDashboardCustomizationLogger } from "./customizationLogging.js"; import { type CustomizerMutationsContext } from "./types.js"; /** * Default implementation of the VisualizationSwitcher rendering customizer. Notice that the state of the customizations * is kept separate from this class. * * This code is responsible for creation of the providers (if needed) and then updating the state * accordingly. The customizer state methods are responsible for doing correct updates of the state itself. This * decoupling is in place so that it is possible to seal the state and prevent write operations from some point * onward. See {@link SealedVisualizationSwitcherCustomizerState} for more motivation behind this. * * @internal */ export declare class DefaultVisualizationSwitcherCustomizer implements IVisualizationSwitcherCustomizer { private readonly logger; private readonly mutationContext; private switcherState; private toolbarState; constructor(logger: IDashboardCustomizationLogger, mutationContext: CustomizerMutationsContext, defaultSwitcherProvider?: VisualizationSwitcherComponentProvider, defaultToolbarProvider?: VisualizationSwitcherToolbarComponentProvider); withCustomSwitcherProvider: (provider: (visualizationSwitcher: import("@gooddata/sdk-model").IVisualizationSwitcherWidget) => import("../../index.js").CustomDashboardVisualizationSwitcherComponent | undefined) => IVisualizationSwitcherCustomizer; withCustomSwitcherDecorator(providerFactory: (next: VisualizationSwitcherComponentProvider) => OptionalVisualizationSwitcherComponentProvider): IVisualizationSwitcherCustomizer; withCustomToolbarProvider: (provider: (widget: import("@gooddata/sdk-model").IVisualizationSwitcherWidget) => import("../../index.js").CustomVisualizationSwitcherToolbarComponent | undefined) => IVisualizationSwitcherCustomizer; withCustomToolbarDecorator(providerFactory: (next: VisualizationSwitcherToolbarComponentProvider) => OptionalVisualizationSwitcherToolbarComponentProvider): IVisualizationSwitcherCustomizer; getVisualizationSwitcherComponentProvider: () => (visualizationSwitcher: import("@gooddata/sdk-model").IVisualizationSwitcherWidget) => import("../../index.js").CustomDashboardVisualizationSwitcherComponent | undefined; getVisualizationSwitcherToolbarComponentProvider: () => (widget: import("@gooddata/sdk-model").IVisualizationSwitcherWidget) => import("../../index.js").CustomVisualizationSwitcherToolbarComponent | undefined; sealCustomizer: () => void; } //# sourceMappingURL=visualizationSwitcherCustomizer.d.ts.map