import type { EntityDict, OpRecord } from 'oak-domain/es/types'; import type { EntityDict as BaseEntityDict } from 'oak-domain/es/base-app-domain'; export type CacheChangeEvent = { opRecords: OpRecord[]; entities: (keyof ED)[]; }; export type OakEntityKey = keyof ED | symbol; export type OakComponentEntityResolver = OakEntityKey | ((this: TOwner) => OakEntityKey); export declare function collectEntitiesFromOpRecords(opRecords: OpRecord[]): (keyof ED)[]; export declare function createCacheChangeEvent(opRecords: OpRecord[]): CacheChangeEvent; export declare function shouldComponentReactToCacheEvent(entity: OakEntityKey, event?: CacheChangeEvent): boolean; export declare function shouldOakComponentReRenderOnCacheEvent(optionEntity: OakComponentEntityResolver, stateEntity: OakEntityKey | undefined, owner: TOwner, event?: CacheChangeEvent): boolean;