/** @packageDocumentation
 * @module Utilities
 */
import { BeUiEvent } from "@itwin/core-bentley";
/** UiSync Event arguments. Contains a set of lower case event Ids.
 * @public
 * @deprecated in 4.2.0 - might be removed in next major version. Please use [[UiSyncEventArgs]] in @itwin/appui-react
 */
export interface UiSyncEventArgs {
    eventIds: Set<string>;
}
/** UiSync Event class.
 * @public
 * @deprecated in 4.2.0 - might be removed in next major version. Use [[UiSyncEvent]] from @itwin/appui-react.
 */
export declare class UiSyncEvent extends BeUiEvent<UiSyncEventArgs> {
}
/** 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
 * @deprecated in 4.2.0 - might be removed in next major version. Use [[SyncUiEventDispatcher]] from @itwin/appui-react.
 */
export declare class UiEventDispatcher {
    private _syncEventTimerId;
    private _eventIds;
    private _eventIdAdded;
    private _uiSyncEvent;
    private _timeoutPeriod;
    private _secondaryTimeoutPeriod;
    constructor();
    /** @internal - used for testing only */
    setTimeoutPeriod(period: number): void;
    /** The current timeout period */
    get timeoutPeriod(): number;
    /** Return set of event ids that will be sent to listeners/. */
    get syncEventIds(): Set<string>;
    /** Return UiSyncEvent so callers can register an event callback. */
    get onSyncUiEvent(): UiSyncEvent;
    /** Immediately trigger sync event processing. */
    dispatchImmediateSyncUiEvent(eventId: string): void;
    /** Save eventId in Set for processing. */
    dispatchSyncUiEvent(eventId: string): void;
    /** Save multiple eventIds in Set for processing. */
    dispatchSyncUiEvents(eventIds: string[]): void;
    /** Trigger registered event processing when timer has expired and no addition eventId are added. */
    checkForAdditionalIds(): void;
    /** Checks to see if an eventId of interest is contained in the set of eventIds */
    hasEventOfInterest(eventIds: Set<string>, idsOfInterest: string[]): boolean;
}
//# sourceMappingURL=UiEventDispatcher.d.ts.map