import { Point } from "./BaseView";
/**
 * ウインドウ等総合管理クラス
 *
 * @export
 * @class Jwf
 */
export declare class WindowManager {
    static nodeX: number;
    static nodeY: number;
    static baseX: number;
    static baseY: number;
    static nodeWidth: number;
    static nodeHeight: number;
    static moveNode: HTMLElement | null;
    static frame: number | null;
    private static layoutForced;
    private static layoutHandler;
    /**
     * マウスとタッチイベントの座標取得処理
     * @param  {MouseEvent|TouchEvent} e
     * @returns {Point} マウスの座標
     */
    static getPos(e: MouseEvent | TouchEvent): Point;
    /**
     * 対象ノードに対して移動を許可し、イベントを発生させる
     *
     * @static
     * @param {HTMLElement} node
     * @memberof Jwf
     */
    static enableMove(node: HTMLElement): void;
    /**
     * ノードに対してイベントを発生させる
     *
     * @static
     * @param {HTMLElement} node 対象ノード
     * @param {string} ename イベント名
     * @param {*} [params] イベント発生時にevent.paramsの形で送られる
     * @memberof Jwf
     */
    static callEvent(node: HTMLElement, ename: string, params?: unknown): void;
    /**
     *イベントを作成する
     *
     * @static
     * @param {string} ename イベント名
     * @param {*} [params] イベント発生時にevent.paramsの形で送られる
     * @returns {Event} 作成したイベント
     * @memberof Jwf
     */
    private static createEvent;
    /**
     *ノードを作成する
     *
     * @static
     * @param {string} tagName タグ名
     * @param {*} [params] タグパラメータ
     * @returns {HTMLElement} 作成したノード
     * @memberof Jwf
     */
    static createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, params?: object): HTMLElementTagNameMap[K];
    /**
     *ウインドウレイアウトの更新要求
     *実際の処理は遅延非同期で行われる
     *
     * @static
     * @param {boolean} flag	true:全Window強制更新 false:更新の必要があるWindowのみ更新
     * @memberof Jwf
     */
    static layout(flag: boolean): void;
}
