/** @packageDocumentation
 * @module UiProvider
 */
import type { BeUiEvent } from "@itwin/core-bentley";
import type { UiItemsManager as AbstractUiItemsManagerType } from "@itwin/appui-abstract";
import type { UiItemsManager, UiItemsProviderOverrides, UiItemsProviderRegisteredEventArgs } from "./UiItemsManager";
import { StagePanelLocation } from "../stagepanels/StagePanelLocation";
import { StagePanelSection } from "../stagepanels/StagePanelSection";
import type { Widget } from "../widgets/Widget";
import type { ProviderItem } from "./ProviderItem";
import type { UiItemsProvider } from "./UiItemsProvider";
import type { ToolbarItem, ToolbarOrientation, ToolbarUsage } from "../toolbar/ToolbarItem";
import type { BackstageItem } from "../backstage/BackstageItem";
import type { StatusBarItem } from "../statusbar/StatusBarItem";
/** @internal */
export declare function createAbstractUiItemsManagerAdapter(): AbstractUiItemsManagerAdapter | undefined;
type Target = Pick<typeof UiItemsManager, "getWidgets" | "getToolbarButtonItems" | "getStatusBarItems" | "getBackstageItems" | "register" | "getUiItemsProvider" | "registeredProviderIds" | "hasRegisteredProviders" | "unregister" | "onUiProviderRegisteredEvent" | "clearAllProviders">;
declare class AbstractUiItemsManagerAdapter implements Target {
    private readonly _adaptee;
    constructor(_adaptee: typeof AbstractUiItemsManagerType);
    clearAllProviders(): void;
    get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs>;
    unregister(providerId: string): void;
    get hasRegisteredProviders(): boolean;
    get registeredProviderIds(): string[];
    register(provider: UiItemsProvider, overrides?: UiItemsProviderOverrides | undefined): void;
    getUiItemsProvider(providerId: string): UiItemsProvider | undefined;
    getBackstageItems(): readonly ProviderItem<BackstageItem>[];
    getStatusBarItems(stageId: string, stageUsage: string): readonly ProviderItem<StatusBarItem>[];
    getToolbarButtonItems(stageId: string, stageUsage: string, usage: ToolbarUsage, orientation: ToolbarOrientation): readonly ProviderItem<ToolbarItem>[];
    getWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection | undefined): readonly ProviderItem<Widget>[];
}
export {};
//# sourceMappingURL=AbstractUiItemsManager.d.ts.map