import type { UmbInteractionMemoryManager } from './interaction-memory.manager.js'; import { UmbControllerBase } from '../../../libs/class-api/index.js'; import type { UmbControllerHost } from '../../../libs/controller-api/index.js'; export interface UmbModalInteractionMemoryControllerArgs { /** * The memory manager holding the modal's own memories. Everything it holds is published to the * scope above as one entry, and it is the scope for any modal opened from this one. Pass a function * when the manager does not exist yet at construction time, e.g. when a base class sets this up for * a manager owned by its subclass. */ memory: UmbInteractionMemoryManager | (() => UmbInteractionMemoryManager); /** * The key the modal publishes its memories under. Pass a function when the key is not known at * construction time, e.g. when it derives from the modal manifest. Nothing is bridged while it * resolves to undefined. */ unique: string | (() => string | undefined); } /** * Bridges a modal's own interaction-memory manager to the nearest scope above it, and makes that * manager the scope for modals opened from this one — so each modal's memories nest under a single * key of its own choosing and no layer needs to know another layer's keys. * * A modal is rendered in the modal portal rather than as a descendant of whatever opened it, so * context is the only channel available across that boundary. * @exports * @class UmbModalInteractionMemoryController * @augments {UmbControllerBase} */ export declare class UmbModalInteractionMemoryController extends UmbControllerBase { #private; /** * Creates an instance of UmbModalInteractionMemoryController. * @param {UmbControllerHost} host - The modal element to bridge. * @param {UmbModalInteractionMemoryControllerArgs} args - The manager to bridge and the key to publish it under. * @memberof UmbModalInteractionMemoryController */ constructor(host: UmbControllerHost, args: UmbModalInteractionMemoryControllerArgs); hostConnected(): void; }