import type { Event } from '@difizen/mana-common';
import { DisposableCollection, Emitter } from '@difizen/mana-common';
import * as React from 'react';
import { ViewTitle } from './title';
import type { View, ViewComponent, ViewSize } from './view-protocol';
export declare function BaseViewRender(): import("react/jsx-runtime").JSX.Element;
export declare class BaseView implements View {
    /**
     * Ref of container dom node owned by the view.
     */
    container?: React.RefObject<HTMLDivElement> | null;
    /**
     * The id of the view.
     */
    id: string;
    onViewResize?(size: ViewSize): void;
    onViewMount?(): void;
    onViewUnmount?(): void;
    label: string | React.ReactNode;
    view: ViewComponent;
    /**
     * The classname of view container
     */
    className?: string;
    isDisposed: boolean;
    isAttached: boolean;
    isVisible: boolean;
    title: ViewTitle;
    protected toDispose: DisposableCollection;
    protected disposedEventEmitter: Emitter<void>;
    onDisposed: Event<void>;
    constructor();
    dispose(): void;
}
//# sourceMappingURL=default-view.d.ts.map