/** @packageDocumentation
 * @module StatusBar
 */
import { BeEvent } from "@itwin/core-bentley";
import type { StatusBarItem } from "./StatusBarItem";
/** Arguments of [[StatusBarItemsManager.onChanged]] event.
 * @internal
 */
export interface StatusBarItemsChangedArgs {
    readonly items: ReadonlyArray<StatusBarItem>;
}
/**
 * Controls status bar items.
 * @internal
 */
export declare class StatusBarItemsManager {
    private _items;
    constructor(items?: ReadonlyArray<StatusBarItem>);
    /** Event raised when StatusBar items are changed.
     * @internal
     */
    readonly onItemsChanged: BeEvent<(args: StatusBarItemsChangedArgs) => void>;
    private loadItemsInternal;
    /** load items but do not fire onItemsChanged
     * @internal
     */
    loadItems(items: ReadonlyArray<StatusBarItem>): void;
    /** Get an array of the StatusBar items  */
    get items(): ReadonlyArray<StatusBarItem>;
    set items(items: ReadonlyArray<StatusBarItem>);
    add(itemOrItems: StatusBarItem | ReadonlyArray<StatusBarItem>): void;
    /** Remove StatusBar items based on id */
    remove(itemIdOrItemIds: StatusBarItem["id"] | ReadonlyArray<StatusBarItem["id"]>): void;
    /** @internal */
    removeAll(): void;
    static getSyncIdsOfInterest(items: readonly StatusBarItem[]): string[];
    private internalRefreshAffectedItems;
    refreshAffectedItems(eventIds: Set<string>): void;
}
//# sourceMappingURL=StatusBarItemsManager.d.ts.map