import type { RefreshMap } from './types';
/**
* @description
* Exposes APIs to register properties and case updates and triggers explicit refresh
* Deregisters registration upon removal of context
*/
declare class RefreshManager {
readonly refreshMap: RefreshMap;
readonly propChangeRefreshMap: RefreshMap;
constructor();
/**
* Initialize cache
* @description This method initializes refresh cache
* @param cachedMap - refreshMap or propChangeRefreshMap passed
* @param context - Context where assignment is loaded
* @param propOrTabToRegister - Property name or case view tab to be registered
* @param uniqueHash - Unique key to avoid duplication
* @param callback - Bound Callback to invoked later
*
* @example
Example for initializeRefreshCache()
* Example can be seen in Refresh Manager registerForRefresh method
* Example usage - RefreshManager.initializeRefreshCache()
*
* @see {@link initializeRefreshCache} for further information.
* @private
* @function
*/
static initializeRefreshCache(cachedMap: RefreshMap, context: string, propOrTabToRegister: string, uniqueHash: string, callback: Function): void;
/**
* Register property to a cache
* @description This method register a property to refresh cache
* @param refreshType - Specifies the type of refresh PROP_CHANGE / CASE_UPDATE
* @param callback - Bound Callback to invoked later
* @param propOrTabToRegister - Full Property reference or particular case view tab to be registered
* @param uniqueIds - Combines context and page reference etc
* @param context - Context where assignment is loaded
*
* @example Example for registerForRefresh()
* Example can be seen in Actions api registerForRefreshView method
* Example usage - PCore.getRefreshManager().registerForRefresh(refreshType, callback, propChanged, id, context);
*
* @see {@link registerForRefresh} for further information.
* @private
* @function
*/
registerForRefresh(refreshType: string, callback: Function, propOrTabToRegister: string, uniqueIds: string, context: string): void;
/**
* Trigger refresh callback
* @description This method finds refresh callback registered to passed property
* @param refreshType - Specifies the type of refresh PROP_CHANGE / CASE_UPDATE
* @param propOrTabChanged - Full Property reference callback is register for or case view tab to be refreshed
* @param context - Context where assignment is loaded
*
* @example Example for triggerRefreshForType()
* Example can be seen in Actions api triggerRefreshViewForType method
* Example usage - PCore.getRefreshManager().triggerRefreshForType(type, propOrTabChanged, context);
*
* @see {@link triggerRefreshForType} for further information.
* @private
* @function
*/
triggerRefreshForType(refreshType: string, propOrTabChanged: string, context: string): void;
/**
* Removes cache per context
* @description This method Removes cache as per given context
* @param context - Context where is getting removed
*
* @example Example for deRegisterForRefresh()
* Example can be seen in Garbage Collector cleanCaches method
* Example usage - PCore.getRefreshManager().deRegisterForRefresh(context);
*
* @see {@link deRegisterForRefresh} for further information.
* @private
* @function
*/
deRegisterForRefresh(context: string): void;
}
declare const _default: RefreshManager;
export default _default;