/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { IDialogAdapter } from './dialog-adapter';
import { DialogAnimationType, DialogMode, DialogPlacement, DialogPositionStrategy, DialogPreset, DialogSizeStrategy, DialogType } from './dialog-constants';
export interface IDialogFoundation extends ICustomElementFoundation {
    open: boolean;
    mode: DialogMode;
    type: DialogType;
    animationType: DialogAnimationType;
    preset: DialogPreset;
    persistent: boolean;
    fullscreen: boolean;
    trigger: string;
    triggerElement: HTMLElement | null;
    positionStrategy: DialogPositionStrategy;
    sizeStrategy: DialogSizeStrategy;
    placement: DialogPlacement;
    moveable: boolean;
    hideBackdrop(): void;
    showBackdrop(): void;
    dispatchBeforeCloseEvent(): boolean;
}
export declare class DialogFoundation implements IDialogFoundation {
    _adapter: IDialogAdapter;
    private _open;
    private _mode;
    private _type;
    private _animationType;
    private _preset;
    private _persistent;
    private _fullscreen;
    private _trigger;
    private _moveable;
    private _sizeStrategy;
    private _placement;
    private _positionStrategy;
    private _moveController;
    private _escapeDismissListener;
    private _backdropDismissListener;
    private _dialogFormSubmitListener;
    private _triggerClickListener;
    constructor(_adapter: IDialogAdapter);
    initialize(): void;
    destroy(): void;
    dispatchBeforeCloseEvent(): boolean;
    hideBackdrop(): void;
    showBackdrop(): void;
    private _show;
    private _hide;
    private _applyOpen;
    private _onEscapeDismiss;
    private _onBackdropDismiss;
    private _onDialogFormSubmit;
    private _tryClose;
    private _onTriggerClick;
    private _initializeMoveController;
    private _destroyMoveController;
    get open(): boolean;
    set open(value: boolean);
    get mode(): DialogMode;
    set mode(value: DialogMode);
    get type(): DialogType;
    set type(value: DialogType);
    get animationType(): DialogAnimationType;
    set animationType(value: DialogAnimationType);
    get preset(): DialogPreset;
    set preset(value: DialogPreset);
    get persistent(): boolean;
    set persistent(value: boolean);
    get fullscreen(): boolean;
    set fullscreen(value: boolean);
    get trigger(): string;
    set trigger(value: string);
    get triggerElement(): HTMLElement | null;
    set triggerElement(element: HTMLElement | null);
    get moveable(): boolean;
    set moveable(value: boolean);
    get positionStrategy(): DialogPositionStrategy;
    set positionStrategy(value: DialogPositionStrategy);
    get sizeStrategy(): DialogSizeStrategy;
    set sizeStrategy(value: DialogSizeStrategy);
    get placement(): DialogPlacement;
    set placement(value: DialogPlacement);
}
