/**
 * @license
 * Copyright 2026 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import { type RegionNode, type RegionUpdate, type Region } from '../output.js';
/**
 * Manages the scene tree of regions.
 * Handles updates from the main thread and maintains the current state of all regions.
 */
export declare class SceneManager {
    regions: Map<string | number, Region>;
    root?: RegionNode;
    regionWasAtEnd: Map<string | number, boolean>;
    /**
     * Updates the scene tree and regions with new data.
     * Returns true if the scene was updated in a way that likely requires a re-render.
     */
    update(tree: RegionNode, updates: RegionUpdate[], options: {
        animatedScroll: boolean;
        onScrollUpdate: (regionId: string | number, scrollTop: number, isNew: boolean) => void;
        onRegionDeleted?: (regionId: string | number) => void;
    }): boolean;
    getRegion(id: string | number): Region | undefined;
    getRootRegion(): Region | undefined;
}
