import type { BeEvent } from "@itwin/core-bentley";
type ActiveToolIdSynchedItem<T> = {
    id: string;
    isActive?: boolean;
} | {
    id: string;
    items: T[];
};
interface ActiveToolIdSynchedHost {
    activeToolId: string;
    onToolActivatedEvent: BeEvent<(args: {
        toolId: string;
    }) => void>;
}
/**
 * Synch the provided items to only show the item with id === activeToolId to be
 * active, as determined by the UiFramework.frontstages.activeToolId.
 * @param itemsToSynch List of items to keep in synch.
 * @param syncHost Source of information to synch to (UiFramework.frontstages)
 * @returns Up to date itemsToSynch.
 * @internal
 */
export declare function useActiveToolIdSynchedItems<T extends ActiveToolIdSynchedItem<T>>(itemsToSynch: readonly T[], syncHost: ActiveToolIdSynchedHost): T[];
export {};
//# sourceMappingURL=useActiveToolIdSynchedItems.d.ts.map