import type { MappingFunction } from '../types/mapping-function.type.js'; import type { MemoizationFunction } from '../types/memoization-function.type.js'; import { UmbBasicState } from './basic-state.js'; /** * @class UmbDeepState * @augments {BehaviorSubject} * @description - A RxJS BehaviorSubject which deepFreezes the data to ensure its not manipulated from any implementations. * Additionally the Subject ensures the data is unique, not updating any Observes unless there is an actual change of the content. */ export declare class UmbDeepState extends UmbBasicState { #private; constructor(initialData: T); /** * @function createObservablePart * @param {(mappable: T) => R} mappingFunction - Method to return the part for this Observable to return. * @param {(previousResult: R, currentResult: R) => boolean} [memoizationFunction] - Method to Compare if the data has changed. Should return true when data is different. * @returns {Observable} * @description - Creates an Observable from this State. */ asObservablePart(mappingFunction: MappingFunction, memoizationFunction?: MemoizationFunction): import("rxjs").Observable; /** * @function setValue * @param {T} data - The next data for this state to hold. * @description - Set the data of this state, if data is different than current this will trigger observations to update. */ setValue(data: T): void; getValue(): T; /** * @function mute * @description - Set mute for this state. */ mute(): void; /** * @function unmute * @description - Unset the mute of this state. */ unmute(): void; /** * @function isMuted * @description - Check if the state is muted. * @returns {boolean} - Returns true if the state is muted. */ isMuted(): boolean | undefined; /** * @function getMutePromise * @description - Get a promise which resolves when the mute is unset. * @returns {Promise} */ getMutePromise(): Promise; }