import { EntityTable, NormalizedIndex, INormalizeDelegate, Mergeable } from '../interface.js'; import { POJODelegate } from '../delegate/Delegate.js'; type MetaEntry = { fetchedAt: number; date: number; expiresAt: number; }; /** Full normalize() logic for POJO state */ export declare class NormalizeDelegate extends POJODelegate implements INormalizeDelegate { readonly entitiesMeta: { [entityKey: string]: { [pk: string]: MetaEntry; }; }; readonly args: readonly any[]; readonly meta: MetaEntry; visit: INormalizeDelegate['visit']; checkLoop: (entityKey: string, pk: string, input: object) => boolean; protected newEntities: Map>; protected newIndexes: Map>; constructor(state: { entities: EntityTable; indexes: NormalizedIndex; entitiesMeta: { [entityKey: string]: { [pk: string]: MetaEntry; }; }; }, args: readonly any[], actionMeta: MetaEntry); protected getNewEntity(key: string, pk: string): any; protected getNewEntities(key: string): Map; protected getNewIndexes(key: string): Map; /** Updates an entity using merge lifecycles when it has previously been set */ mergeEntity(schema: Mergeable & { indexes?: any; }, pk: string, incomingEntity: any): void; /** Sets an entity overwriting any previously set values */ setEntity(schema: { key: string; indexes?: any; }, pk: string, entity: any, meta?: MetaEntry): void; /** Invalidates an entity, potentially triggering suspense */ invalidate({ key }: { key: string; }, pk: string): void; protected _setEntity(key: string, pk: string, entity: any): void; protected _setMeta(key: string, pk: string, meta: MetaEntry): void; getMeta(key: string, pk: string): MetaEntry; } export {}; //# sourceMappingURL=NormalizeDelegate.d.ts.map