import Viewer from "../viewer/Viewer";
declare class Widget {
    protected _viewer: Viewer | undefined;
    protected _enable: boolean;
    protected _wrapper: any;
    protected _ready: boolean;
    protected _state: string;
    constructor();
    set enable(enable: boolean);
    get enable(): boolean;
    get state(): string;
    /**
     * mount content
     * @private
     */
    protected _mountContent(): void;
    /**
     * binds event
     * @private
     */
    protected _bindEvent(): void;
    /**
     * Unbinds event
     * @private
     */
    protected _unbindEvent(): void;
    /**
     * When enable modifies the hook executed, the subclass copies it as required
     * @private
     */
    protected _enableHook(): void;
    /**
     * Updating the Widget location requires subclass overrides
     * @param windowCoord
     * @private
     */
    protected _updateWindowCoord(windowCoord: any): void;
    /**
     * Hook for installed
     * @private
     */
    protected _installHook(): void;
    /**
     * Installs to viewer
     * @param viewer
     */
    install(viewer: any): void;
    /**
     * Setting  wrapper
     * @param wrapper
     * @returns {Widget}
     */
    setWrapper(wrapper: any): this;
    /**
     * Setting widget content
     * @param content
     * @returns {Widget}
     */
    setContent(content: string | Element): this;
    /**
     * hide widget
     */
    hide(): void;
    /**
     * Registers type
     * @param type
     */
    static registerType(type: any): void;
    /**
     *
     * @param type
     */
    static getWidgetType(type: any): any;
}
export default Widget;
