/** @packageDocumentation
 * @module SyncUi
 */
import { UiSyncEvent } from "./UiSyncEvent";
/** 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.
 * @internal
 */
export declare class InternalSyncUiEventDispatcher {
    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=InternalSyncUiEventDispatcher.d.ts.map