/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { WindowActionsEvent, WindowMoveEvent } from './events';
import { windowStage } from './StageEnum';
import { PropType } from 'vue';
/**
 * @hidden
 */
declare const Window: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    id: PropType<string>;
    appendTo: PropType<string>;
    width: {
        type: PropType<number>;
        default: any;
    };
    height: {
        type: PropType<number>;
        default: any;
    };
    left: {
        type: PropType<number>;
        default: any;
    };
    windowStyle: PropType<object>;
    windowClass: PropType<string>;
    top: {
        type: PropType<number>;
        default: any;
    };
    initialWidth: PropType<number>;
    initialHeight: PropType<number>;
    initialLeft: PropType<number>;
    initialTop: PropType<number>;
    minWidth: {
        type: PropType<number>;
        default: number;
    };
    minHeight: {
        type: PropType<number>;
        default: number;
    };
    resizable: {
        type: PropType<boolean>;
        default: boolean;
    };
    draggable: {
        type: PropType<boolean>;
        default: boolean;
    };
    modal: {
        type: PropType<boolean>;
        default: boolean;
    };
    doubleClickStageChange: {
        type: PropType<boolean>;
        default: boolean;
    };
    title: PropType<any>;
    titleRender: PropType<string | object | Function>;
    closeButton: PropType<string | boolean | object | Function>;
    minimizeButton: PropType<string | boolean | object | Function>;
    maximizeButton: PropType<string | boolean | object | Function>;
    restoreButton: PropType<string | boolean | object | Function>;
    shouldUpdateOnDrag: PropType<boolean>;
    stage: {
        type: PropType<string>;
        validator: (value: string) => boolean;
    };
    dir: PropType<string>;
}>, {}, {
    currentStage: string;
    isDragging: boolean;
    currentTop: any;
    currentLeft: any;
    currentWidth: any;
    currentHeight: any;
    titleId: any;
    showLicenseWatermark: boolean;
    licenseMessage: any;
}, {
    wrapperClass(): {
        'k-dialog-wrapper': any;
    };
    windowElementClass(): {
        [x: number]: any;
        'k-window': boolean;
        'k-window-minimized': boolean;
    };
    computedTop(): number;
    computedLeft(): number;
    computedWidth(): number;
    computedHeight(): number;
    windowStage(): windowStage | string;
}, {
    onPress(event: any): void;
    onDrag(event: any): void;
    onRelease(event: any): void;
    handleKeyDown(event: any): void;
    getInitialTop(): any;
    getInitialLeft(): any;
    getInitialWidth(): number;
    getInitialHeight(): number;
    handleMinimize(event: any): void;
    handleFullscreen(event: any): void;
    handleRestore(event: any): void;
    handleCloseWindow(event: any): void;
    handleDoubleClick(e: any): void;
    handleResize(event: any, props: {
        end: boolean;
        direction: string;
    }): void;
    dispatchMoveEvent(eventName: string, event: any, drag: boolean, end: boolean | undefined): void;
    handleBrowserWindowResize(): void;
    handleClick(e: any): void;
    getActionBarIndex(children: any): any;
    generateTitleId(): string;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    resize: (event: WindowMoveEvent) => true;
    move: (event: WindowMoveEvent) => true;
    close: (event: WindowActionsEvent) => true;
    stagechange: (event: WindowActionsEvent) => true;
    overlayclick: any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    id: PropType<string>;
    appendTo: PropType<string>;
    width: {
        type: PropType<number>;
        default: any;
    };
    height: {
        type: PropType<number>;
        default: any;
    };
    left: {
        type: PropType<number>;
        default: any;
    };
    windowStyle: PropType<object>;
    windowClass: PropType<string>;
    top: {
        type: PropType<number>;
        default: any;
    };
    initialWidth: PropType<number>;
    initialHeight: PropType<number>;
    initialLeft: PropType<number>;
    initialTop: PropType<number>;
    minWidth: {
        type: PropType<number>;
        default: number;
    };
    minHeight: {
        type: PropType<number>;
        default: number;
    };
    resizable: {
        type: PropType<boolean>;
        default: boolean;
    };
    draggable: {
        type: PropType<boolean>;
        default: boolean;
    };
    modal: {
        type: PropType<boolean>;
        default: boolean;
    };
    doubleClickStageChange: {
        type: PropType<boolean>;
        default: boolean;
    };
    title: PropType<any>;
    titleRender: PropType<string | object | Function>;
    closeButton: PropType<string | boolean | object | Function>;
    minimizeButton: PropType<string | boolean | object | Function>;
    maximizeButton: PropType<string | boolean | object | Function>;
    restoreButton: PropType<string | boolean | object | Function>;
    shouldUpdateOnDrag: PropType<boolean>;
    stage: {
        type: PropType<string>;
        validator: (value: string) => boolean;
    };
    dir: PropType<string>;
}>> & Readonly<{
    onClose?: (event: WindowActionsEvent) => any;
    onResize?: (event: WindowMoveEvent) => any;
    onMove?: (event: WindowMoveEvent) => any;
    onOverlayclick?: (...args: any[] | unknown[]) => any;
    onStagechange?: (event: WindowActionsEvent) => any;
}>, {
    draggable: boolean;
    height: number;
    width: number;
    left: number;
    top: number;
    minWidth: number;
    modal: boolean;
    minHeight: number;
    resizable: boolean;
    doubleClickStageChange: boolean;
}, {}, {}, {}, string, () => {
    kCurrentZIndex: number;
}, true, {}, any>;
export { Window };
