/** @packageDocumentation * @module UiItemsProvider */ import { BackstageItem } from "./backstage/BackstageItem"; import { CommonStatusBarItem } from "./statusbar/StatusBarItem"; import { CommonToolbarItem } from "./toolbars/ToolbarItem"; import { UiItemsApplicationAction } from "./UiItemsManager"; import { AbstractWidgetProps } from "./widget/AbstractWidgetProps"; /** Application for items provided by a UiItemsProvider * @beta */ export interface UiItemsApplication { /** Validate and optionally update a Toolbar button item */ validateToolbarButtonItem?: (item: CommonToolbarItem) => { updatedItem: CommonToolbarItem; action: UiItemsApplicationAction; }; /** Validate and optionally update a StatusBar item */ validateStatusBarItem?: (item: CommonStatusBarItem) => { updatedItem: CommonStatusBarItem; action: UiItemsApplicationAction; }; /** Validate and optionally update a Backstage item */ validateBackstageItem?: (item: BackstageItem) => { updatedItem: BackstageItem; action: UiItemsApplicationAction; }; /** Validate and optionally update a Widget */ validateWidget?: (widget: AbstractWidgetProps) => { updatedWidget: AbstractWidgetProps; action: UiItemsApplicationAction; }; } /** Arbitrates between the [[UiItemsApplication]] and a [[UiItemsProvider]] * @beta */ export declare class UiItemsArbiter { private static _uiItemsApplication?; /** The UiItemsApplication implementation. The application should set this to validate items from the extensions. */ static get uiItemsApplication(): UiItemsApplication | undefined; static set uiItemsApplication(app: UiItemsApplication | undefined); /** @internal */ static clearApplication(): void; /** @internal */ static updateToolbarButtonItems(items: ReadonlyArray): ReadonlyArray; /** @internal */ static updateStatusBarItems(items: ReadonlyArray): ReadonlyArray; /** @internal */ static updateBackstageItems(items: ReadonlyArray): ReadonlyArray; /** @internal */ static updateWidgets(widgets: ReadonlyArray): ReadonlyArray; } //# sourceMappingURL=UiItemsArbiter.d.ts.map