/** @packageDocumentation
 * @module UiProvider
 */
import type { StagePanelLocation } from "../stagepanels/StagePanelLocation.js";
import type { StagePanelSection } from "../stagepanels/StagePanelSection.js";
import type { StatusBarItem } from "../statusbar/StatusBarItem.js";
import type { ToolbarItem, ToolbarOrientation, ToolbarUsage } from "../toolbar/ToolbarItem.js";
import type { Widget } from "../widgets/Widget.js";
import type { UiItemsProvider } from "./UiItemsProvider.js";
/** Base implementation of a UiItemsProvider. The base class allows the user to pass in a function that is used to determine if the
 * active stage should be provided items. Derived provider classes should override the `xxxInternal` methods to provide items.
 * @public
 * @deprecated in 4.17.0. Use {@link UiItemsProviderOverrides} to specify supported frontstages when registering the provider.
 */
export declare class BaseUiItemsProvider implements UiItemsProvider {
    protected _providerId: string;
    isSupportedStage?: ((stageId: string, stageUsage: string, stageAppData?: any, provider?: UiItemsProvider) => boolean) | undefined;
    constructor(_providerId: string, isSupportedStage?: ((stageId: string, stageUsage: string, stageAppData?: any, provider?: UiItemsProvider) => boolean) | undefined);
    get id(): string;
    onUnregister(): void;
    unregister(): void;
    provideToolbarItemsInternal(_stageId: string, _stageUsage: string, _toolbarUsage: ToolbarUsage, _toolbarOrientation: ToolbarOrientation, _stageAppData?: any): ToolbarItem[];
    provideToolbarItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): ToolbarItem[];
    provideStatusBarItemsInternal(_stageId: string, _stageUsage: string, _stageAppData?: any): StatusBarItem[];
    provideStatusBarItems(stageId: string, stageUsage: string, stageAppData?: any): StatusBarItem[];
    provideWidgetsInternal(_stageId: string, _stageUsage: string, _location: StagePanelLocation, _section?: StagePanelSection, _stageAppData?: any): Widget[];
    provideWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection, stageAppData?: any): ReadonlyArray<Widget>;
}
//# sourceMappingURL=BaseUiItemsProvider.d.ts.map