import type { BaseShapeRenderModel } from '@univerjs-pro/engine-shape';
import type { BaseViewProjection, ViewType } from '@univerjs/core';
import type { IBaseSceneHostMountOptions, IBaseSubSceneMountOptions } from './base-scene';
import type { BaseViewRenderController } from './base-view-render-controller';
import { BaseSceneHost, BaseSubScene } from './base-scene';
export declare class BaseRenderManager {
    private readonly _controllers;
    private readonly _shapeModels;
    getOrCreate(viewId: string, viewType: ViewType): BaseViewRenderController;
    createSubScene<TProjection extends BaseViewProjection>(options: Omit<IBaseSubSceneMountOptions<TProjection>, 'controller'> & {
        viewType: ViewType;
    }): BaseSubScene<TProjection>;
    createSceneHost<TProjection extends BaseViewProjection>(options: Omit<IBaseSceneHostMountOptions<TProjection>, 'controller'> & {
        viewType: ViewType;
    }): BaseSceneHost<TProjection>;
    registerShapeModel(name: string, model: BaseShapeRenderModel): void;
}
