import { Observable } from 'rxjs'; /** Caches a result that is expensive to compute, but cheap to verify. */ export declare function cacheWithValidation(func: () => T, validate: (result: T) => boolean, invalidateSelector?: () => Observable): () => T; /** Caches a result that is unlikely to change during a microtask. */ export declare function cacheDuringMicrotask(func: () => T, validate: (result: T) => boolean): () => T;