import { AbstractUIExtension, PatcherProvider } from 'sprotty';
/**
 * UIExtension that adds a sidebar to the Sprotty container. The content of the
 * sidebar is implemented by panels, which are provided separately. The sidebar
 * reacts to updates of the {@link SidebarPanelRegistry} and syncs the UI with
 * the registry state.
 */
export declare class Sidebar extends AbstractUIExtension {
    static readonly ID = "sidebar";
    /** Snabbdom patcher function and VDom root */
    private patcher;
    private oldPanelContentRoot;
    /**
     * Maximum width of all opened panels.
     */
    private maxWidth;
    patcherProvider: PatcherProvider;
    private actionDispatcher;
    private sidebarPanelRegistry;
    private renderOptionsRegistry;
    init(): void;
    id(): string;
    containerClass(): string;
    update(): void;
    protected onBeforeShow(): void;
    protected initializeContents(containerElement: HTMLElement): void;
    private handlePanelButtonClick;
    /**
     * Register a click outside handler that hides the content when a user click outsides.
     * Using "mousedown" instead of "click" also hides the panel as soon as the user starts
     * dragging the diagram.
     */
    private addClickOutsideListenser;
    /**
     * Register a mouse left handler that hides the content if the mouse leaves the sidebar.
     */
    private addMouseLeaveListener;
}
//# sourceMappingURL=sidebar.d.ts.map