/**
 * Symbol marker indicating a model manages its own reload lifecycle.
 * Models with this marker are skipped by KosCore's destructive
 * unload() + reload() cycle, allowing them to handle reconnection
 * and state refresh through their own mechanisms (e.g., model effects,
 * topic handlers, or application-specific decorators like @kosStudioStateAware).
 */
export declare const SelfManagedReload: unique symbol;
/**
 * Class decorator that marks a model as self-managing its reload lifecycle.
 *
 * When KOS Core performs a reload (e.g., after reconnection), it normally
 * calls unload() then reload() on every model with a reload() method.
 * This destructive cycle removes all child models and recreates them,
 * which can cause UI disruption (skeleton flashes, lost selection state).
 *
 * Models decorated with @kosReloadAware manage their own reload through
 * reactive mechanisms (model effects watching for state changes) and use
 * incremental strategies like resolveContainerDeltas to update in place.
 *
 * @example
 * ```typescript
 * @kosModel("my-container-model")
 * @kosReloadAware()
 * class MyContainerModel {
 *   async reload() {
 *     // Called by the model's own effect/decorator, NOT by KOS Core
 *     await this.loadItems(); // uses resolveContainerDeltas
 *   }
 * }
 * ```
 *
 * @category Decorator
 */
export declare function kosReloadAware(): ClassDecorator;
//# sourceMappingURL=kos-reload-aware.d.ts.map