import { MainAreaWidget } from '@jupyterlab/apputils';
import { Message } from '@lumino/messaging';
import { Panel, TabBar, Widget } from '@lumino/widgets';
export declare class PreviewMainAreaWidget<T extends Widget = Widget> extends MainAreaWidget {
    /**
     * Handle on the preview widget
     */
    protected static previewWidget: PreviewMainAreaWidget | null;
    constructor(options: MainAreaWidget.IOptions<T> & {
        isPreview?: boolean;
    });
    /**
     * Dispose screen as a preview screen
     */
    static disposePreviewWidget(isPreview: PreviewMainAreaWidget<Widget>): void;
    /**
     * Pin the preview screen if user clicks on tab title
     */
    static pinWidget(tabPosition: number, tabBar: TabBar<Widget>, diffWidget: PreviewMainAreaWidget<Panel>): void;
    /**
     * Callback just after the widget is attached to the DOM
     */
    protected onAfterAttach(msg: Message): void;
    /**
     * Callback just before the widget is detached from the DOM
     */
    protected onBeforeDetach(msg: Message): void;
    /**
     * Callback on click event in capture phase
     */
    _onClick(): void;
}
