import { Button } from './Button'; import { View } from './View'; import type { IViewParams, ViewEventsList } from './View'; import type { EventsHandler } from "../Events"; export interface IDialogParams extends IViewParams { title?: string; visible?: boolean; resizable?: boolean; width?: number; height?: number; left?: number; right?: number; top?: number; minHeight?: number; maxHeight?: number; minWidth?: number; maxWidth?: number; useHide?: boolean; } export type DialogEventsList = ["resize", "focus", "visibility", "dragstart", "dragend"]; declare class Dialog extends View { static __zIndex__: number; events: EventsHandler & EventsHandler; $header: HTMLElement | null; $title: HTMLElement | null; $container: HTMLElement | null; $buttons: HTMLElement | null; useHide: boolean; protected _startPosX: number; protected _startPosY: number; protected _closeBtn: Button; protected _visibility: boolean; protected _right: number | null; protected _width: number; protected _height: number; constructor(options?: IDialogParams); setContainer(htmlStr: string): void; get container(): HTMLElement | null; get width(): number; get height(): number; bringToFront(): void; render(params: any): this; show(): void; hide(): void; close(): void; setVisibility(visibility: boolean): void; getVisibility(): boolean; protected _initButtons(): void; protected _initEvents(): void; protected _onCloseBtnClick: () => void; protected _onMouseDownAll: () => void; protected _onMouseDown: (e: MouseEvent) => void; setPosition(x?: number, y?: number): void; protected _onMouseMove: (e: MouseEvent) => void; protected _startDragging(): void; protected _clearDragging(): void; protected _onMouseUp: () => void; remove(): void; protected _clearEvents(): void; } export { Dialog };