/** @packageDocumentation * @module SyncUi */ import { IModelConnection } from "@bentley/imodeljs-frontend"; import { UiEvent } from "@bentley/ui-core"; /** Event Id used to sync UI components. Used to refresh visibility or enable state of control. * @public */ export declare enum SyncUiEventId { /** AccuDraw compass mode has changed. */ AccuDrawCompassModeChanged = "accudrawcompassmodechanged", /** AccuDraw rotation has changed. */ AccuDrawRotationChanged = "accudrawrotationchanged", /** The active content as maintained by the ContentViewManager has changed. */ ActiveContentChanged = "activecontentchanged", /** The active view maintained by the ViewManager has changed. */ ActiveViewportChanged = "activeviewportchanged", /** Backstage has been closed. * @deprecated Use BackstageEvent instead */ BackstageCloseEvent = "backstagecloseevent", /** Backstage has been closed. */ BackstageEvent = "backstageevent", /** A Content Layout has been activated. */ ContentLayoutActivated = "contentlayoutactivated", /** A Content Control maintained by FrontstageManager has been activated. */ ContentControlActivated = "contentcontrolactivated", /** A Frontstage is activating. */ FrontstageActivating = "frontstageactivating", /** A Frontstage has been activated and the content has been assigned. */ FrontstageReady = "frontstageready", /** A Modal Frontstage has been opened or closed. */ ModalFrontstageChanged = "modalfrontstagechanged", /** A Modal Dialog has been opened or closed. */ ModalDialogChanged = "modaldialogchanged", /** A NavigationAid has been activated. */ NavigationAidActivated = "navigationaidactivated", /** An InteractiveTool has been activated via the ToolAdmin. */ ToolActivated = "toolactivated", /** A Task has been activated. */ TaskActivated = "taskactivated", /** The state of a Widget has changed. */ WidgetStateChanged = "widgetstatechanged", /** A Workflow has been activated. */ WorkflowActivated = "workflowactivated", /** The SelectionSet for the active IModelConnection has changed. */ SelectionSetChanged = "selectionsetchanged", /** The list of settings providers registered with SettingsManager has changed. */ SettingsProvidersChanged = "settingsproviderschanged", /** The current view state has changed (used by view undo/redo toolbar buttons). */ ViewStateChanged = "viewstatechanged", /** The current object the reads and write UI Settings has changed. */ UiSettingsChanged = "uisettingschanged", ShowHideManagerSettingChange = "show-hide-setting-change" } /** SyncUi Event arguments. Contains a set of lower case event Ids. * @public */ export interface SyncUiEventArgs { eventIds: Set; } /** SyncUi Event class. * @public */ export declare class SyncUiEvent extends UiEvent { } /** This class is used to send eventIds to interested UI components so the component can determine if it needs * to refresh its display by calling setState on itself. * @public */ export declare class SyncUiEventDispatcher { private static _syncEventTimerId; private static _eventIds; private static _eventIdAdded; private static _syncUiEvent; private static _timeoutPeriod; private static _secondaryTimeoutPeriod; private static _unregisterListenerFunc?; private static _unregisterListenerFuncs; private static initialized; /** @internal - used for testing only */ static setTimeoutPeriod(period: number): void; /** Return set of event ids that will be sent to listeners/. */ static get syncEventIds(): Set; /** Return SyncUiEvent so callers can register an event callback. */ static get onSyncUiEvent(): SyncUiEvent; /** Immediately trigger sync event processing. */ static dispatchImmediateSyncUiEvent(eventId: string): void; /** Save eventId in Set for processing. */ static dispatchSyncUiEvent(eventId: string): void; /** Save multiple eventIds in Set for processing. */ static dispatchSyncUiEvents(eventIds: string[]): void; /** Trigger registered event processing when timer has expired and no addition eventId are added. */ private static checkForAdditionalIds; /** Checks to see if an eventId of interest is contained in the set of eventIds */ static hasEventOfInterest(eventIds: Set, idsOfInterest: string[]): boolean; private static _dispatchViewChange; /** Initializes the Monitoring of Events that trigger dispatching sync events */ static initialize(): void; private static selectionChangedHandler; /** This should be called by IModelApp when the active IModelConnection is closed. */ static clearConnectionEvents(iModelConnection: IModelConnection): void; /** This should be called by IModelApp when the active IModelConnection is established. */ static initializeConnectionEvents(iModelConnection: IModelConnection): void; } //# sourceMappingURL=SyncUiEventDispatcher.d.ts.map