export declare class Container {
    width: number;
    height: number;
    /** Max render target edge; avoids runaway buffers when embed CSS mis-reports size. */
    private static readonly RENDER_MAX_EDGE;
    /** Ignore width/height drift smaller than this (px) to avoid resize churn from sub-pixel/layout noise. */
    private static readonly RESIZE_IGNORE_DELTA_PX;
    /**
     * The root container which will be created to under the container user passed in,
     * it typically contains a viewer container and a widget container.
     */
    container: HTMLDivElement;
    /**
     * The viewer container, which contains
     * - canvas of three.js
     * - canvas for overlay renderer
     * - css2d object renderer
     */
    viewerContainer?: HTMLDivElement;
    /**
     * The vidget container, may contain:
     * - Axis gizmo
     * - Progress bar
     * - Toolbar ui
     * - Context menu
     */
    widgetContainer?: HTMLDivElement;
    constructor(containerId: string);
    /**
     * Caps width/height used for WebGL/CSS2D so hosts with auto-height + % sizing (e.g. some CMS embeds)
     * cannot drive an unbounded resize loop. Does not change DOM layout.
     */
    static clampRenderDimensions(rawWidth: number, rawHeight: number): {
        width: number;
        height: number;
    };
    get needResize(): boolean;
    destroy(): void;
}
