/**
 * @module public-api
 */
import * as VIM from '../../core-viewers/webgl/index';
import { PartialComponentSettings } from '../settings/settings';
import { Container } from '../container';
import { VimComponentRef } from './webglComponentRef';
/**
 * Creates a UI container along with a VIM.Viewer and its associated React component.
 * @param container An optional container object. If none is provided, a container will be created.
 * @param componentSettings UI Component settings.
*  @param viewerSettings Viewer settings.
 * @returns An object containing the resulting container, reactRoot, and viewer.
 */
export declare function createWebglComponent(container?: Container | HTMLElement, componentSettings?: PartialComponentSettings, viewerSettings?: VIM.PartialViewerSettings): Promise<VimComponentRef>;
/**
 * Represents a React component providing UI for the Vim viewer.
 * @param container The container object containing root, gfx, and UI elements for the Vim viewer.
 * @param viewer The Vim viewer instance for which UI is provided.
 * @param onMount A callback function triggered when the component is mounted. Receives a reference to the Vim component.
 * @param settings Optional settings for configuring the Vim component's behavior.
 */
export declare function VimComponent(props: {
    container: Container;
    viewer: VIM.Viewer;
    onMount: (component: VimComponentRef) => void;
    settings?: PartialComponentSettings;
}): import("react/jsx-runtime").JSX.Element;
