/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { IDialogAdapter } from './dialog-adapter';
import { DialogPositionType, DialogStateCallback } from './dialog-constants';
export interface IDialogFoundation extends ICustomElementFoundation {
    backdropClose: boolean;
    escapeClose: boolean;
    open: boolean;
    fullscreen: boolean;
    openCallback: DialogStateCallback;
    closeCallback: DialogStateCallback;
    beforeCloseCallback: DialogStateCallback;
    positionType: DialogPositionType;
    positionX: number | string | null | undefined;
    positionY: number | string | null | undefined;
    moveable: boolean;
    moveTarget: string;
    initializeMoveTarget(): void;
    resetPosition(): void;
}
export declare class DialogFoundation implements IDialogFoundation {
    _adapter: IDialogAdapter;
    private _open;
    private _backdropClose;
    private _escapeClose;
    private _fullscreen;
    private _openCallback;
    private _closeCallback;
    private _beforeCloseCallback;
    private _positionType;
    private _positionX;
    private _positionY;
    private _moveable;
    private _moveTarget;
    private _isAnimating;
    private _isMoving;
    private _moveContext;
    private _lastPosition;
    private _transitionEndHandler;
    private _documentKeydownHandler;
    private _backdropClickHandler;
    private _moveTargetMouseDownHandler;
    private _moveTargetMouseMoveHandler;
    private _moveTargetMouseUpHandler;
    private _attachedDocumentKeydownHandler;
    private _attachedBackdropClickHandler;
    constructor(_adapter: IDialogAdapter);
    initialize(): void;
    destroy(): void;
    private _applyOpen;
    private _executeOpenCallback;
    private _executeCloseCallback;
    initializeMoveTarget(): void;
    resetPosition(): void;
    private _normalizePositionValue;
    private _openDialog;
    private _closeDialog;
    private _onTransitionEnd;
    private _initMoveTarget;
    private _removeDragHandlers;
    private _onMoveTargetMouseDown;
    private _onMoveTargetMouseMove;
    private _onMoveTargetMouseUp;
    private _moveComplete;
    private _onDocumentKeydown;
    private _onBackdropClick;
    private _tryClose;
    private _setBackdropClickListener;
    private _setDocumentKeydownListener;
    private _calculateOffsetPosition;
    private _clampPosition;
    /** Controls whether clicking the backdrop closes the dialog or not. */
    set backdropClose(value: boolean);
    get backdropClose(): boolean;
    /** Controls whether pressing the escape key closes the dialog or not. */
    set escapeClose(value: boolean);
    get escapeClose(): boolean;
    get open(): boolean;
    set open(value: boolean);
    get fullscreen(): boolean;
    set fullscreen(value: boolean);
    get openCallback(): DialogStateCallback;
    set openCallback(callback: DialogStateCallback);
    get closeCallback(): DialogStateCallback;
    set closeCallback(callback: DialogStateCallback);
    get beforeCloseCallback(): DialogStateCallback;
    set beforeCloseCallback(callback: DialogStateCallback);
    get positionType(): DialogPositionType;
    set positionType(value: DialogPositionType);
    get positionX(): number | string | null | undefined;
    set positionX(value: number | string | null | undefined);
    get positionY(): number | string | null | undefined;
    set positionY(value: number | string | null | undefined);
    get moveable(): boolean;
    set moveable(value: boolean);
    get moveTarget(): string;
    set moveTarget(value: string);
}
