/// <reference types="jquery" />
import { Desktop, Form, Menu, ObjectOrChildModel, Point, Rectangle, StatusSeverity, TooltipEventMap, TooltipModel, Widget, WidgetPopup } from '../index';
import KeyDownEvent = JQuery.KeyDownEvent;
export type TooltipPosition = 'top' | 'bottom';
export type TooltipDirection = 'right' | 'left';
export type TooltipScrollType = 'position' | 'remove';
export declare class Tooltip extends Widget implements TooltipModel {
    model: TooltipModel;
    eventMap: TooltipEventMap;
    self: Tooltip;
    text: string;
    severity: StatusSeverity;
    arrowPosition: number;
    arrowPositionUnit: string;
    clipOrigin: boolean;
    windowPaddingX: number;
    windowPaddingY: number;
    origin: Rectangle;
    originRelativeToParent: boolean;
    originProducer: ($anchor: JQuery) => Rectangle;
    offsetProducer: (origin: Rectangle) => Point;
    autoRemove: boolean;
    tooltipPosition: TooltipPosition;
    tooltipDirection: TooltipDirection;
    scrollType: TooltipScrollType;
    htmlEnabled: boolean;
    menus: Menu[];
    $anchor: JQuery;
    $arrow: JQuery;
    $content: JQuery;
    $menus: JQuery;
    protected _popup: Form | WidgetPopup;
    protected _openLater: boolean;
    protected _mouseDownHandler: (event: MouseEvent) => boolean;
    protected _keydownHandler: (event: KeyDownEvent) => void;
    protected _anchorScrollHandler: (event: JQuery.ScrollEvent) => void;
    protected _moveHandler: () => void;
    constructor();
    render($parent?: JQuery): void;
    protected _render(): void;
    protected _postRender(): void;
    protected _remove(): void;
    /**
     * Finds the desktop (see {@link Widget.findDesktop}) and checks whether the `$container` of this desktop is `this.$parent`.
     */
    findDesktopIf$Parent(): Desktop;
    _destroy(): void;
    protected _onAttach(): void;
    protected _renderOnDetach(): void;
    protected _isRemovalPrevented(): boolean;
    setText(text: string): void;
    protected _renderText(): void;
    setHtmlEnabled(htmlEnabled: boolean): void;
    protected _renderHtmlEnabled(): void;
    setSeverity(severity: StatusSeverity): void;
    protected _renderSeverity(): void;
    setMenus(menus: ObjectOrChildModel<Menu> | ObjectOrChildModel<Menu>[]): void;
    protected _renderMenus(): void;
    set$Anchor($anchor: JQuery): void;
    protected _render$anchor(): void;
    position(): void;
    protected _getOrigin(): Rectangle;
    protected _getOffset(origin: Rectangle): Point;
    protected _onAnchorScroll(event: JQuery.ScrollEvent): void;
    protected _onDocumentMouseDown(event: MouseEvent): boolean;
    protected _isMouseDownOutside(event: MouseEvent): boolean;
    /**
     * Method invoked once a mouse down event occurs outside the tooltip.
     */
    protected _onMouseDownOutside(event: MouseEvent): void;
    protected _onDocumentKeyDown(event: KeyDownEvent): void;
}
//# sourceMappingURL=Tooltip.d.ts.map