/** * Saves data to the local-changes backup in `sessionStorage`. * * The backup only — a draft that survives a reload is not an edit in flight. * {@link saveEntityToMemoryCache} is the other channel; see {@link entityCache} * for what separates them. * @param path - The unique path/key for the data. * @param data - The data to cache and persist. */ export declare function saveEntityToCache(path: string, data: object): void; /** * Consumes a handoff. The channel is one-shot: whoever picks an edit up owns it * from then on, and an edit left behind here is one that reopens a record dirty * long after the user stopped looking at it. */ export declare function removeEntityFromMemoryCache(path: string): void; /** * Parks an edit in flight for the layout about to take over. See * {@link entityCache}: this is the handoff, not the backup. */ export declare function saveEntityToMemoryCache(path: string, data: object): void; export declare function getEntityFromMemoryCache(path: string): object | undefined; /** * Retrieves a entity from the local-changes backup in `sessionStorage`. * * The backup only — the handoff channel is read through * {@link getEntityFromMemoryCache}, and the two mean different things to the * form that receives them. * @param path - The unique path/key for the entity. * @returns The cached entity or `undefined` if not found. */ export declare function getEntityFromCache(path: string): object | undefined; /** * Removes a entity from both the in-memory cache and `sessionStorage`. * @param path - The unique path/key for the entity to remove. */ export declare function removeEntityFromCache(path: string): void; export declare function flattenKeys(obj: Record | unknown[], prefix?: string, result?: string[]): string[];