import { type OptionalTopBarComponentProvider, type TopBarComponentProvider } from "../../presentation/dashboardContexts/types.js"; import { type CustomTopBarComponent } from "../../presentation/topBar/topBar/types.js"; import { type ITopBarCustomizer } from "../customizer.js"; import { type IDashboardCustomizationLogger } from "./customizationLogging.js"; import { type CustomizerMutationsContext } from "./types.js"; interface ITopBarCustomizerResult { TopBarComponent: CustomTopBarComponent | undefined; } /** * Default implementation of the TopBar 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 SealedTopBarCustomizerState} for more motivation behind this. * * @internal */ export declare class DefaultTopBarCustomizer implements ITopBarCustomizer { private readonly logger; private readonly mutationContext; private state; private updated; constructor(logger: IDashboardCustomizationLogger, mutationContext: CustomizerMutationsContext, defaultProvider?: TopBarComponentProvider); withCustomProvider: (provider: (props: import("../../presentation/topBar/topBar/types.js").ITopBarProps) => CustomTopBarComponent | undefined) => ITopBarCustomizer; withCustomDecorator(providerFactory: (next: TopBarComponentProvider) => OptionalTopBarComponentProvider): ITopBarCustomizer; getCustomizerResult: () => ITopBarCustomizerResult; sealCustomizer: () => void; } export {}; //# sourceMappingURL=topBarCustomizer.d.ts.map