import { EventEmitter } from "../../stencil-public-runtime";
import { HostElement } from "../../stencil-public-runtime";
export type ModalSizeType = 'small' | 'regular' | 'normal' | 'medium' | 'big' | 'large' | 'full' | 'auto';
export declare class XModal {
    /**
     * Timer instance
     */
    private timer;
    /**
     * Modal container element
     */
    private container;
    /**
     * Element show loading style
     */
    loading?: boolean;
    /**
     * Element interval time in seconds to auto-close
     */
    interval?: number;
    /**
     * Element size name
     */
    size?: ModalSizeType;
    /**
     * Element max width
     */
    maxWidth?: string;
    /**
     * Element closable on click outside
     */
    closable?: boolean;
    /**
     * Element reference
     */
    el: HostElement;
    /**
     * Modal visible state
     */
    visible: boolean;
    /**
     * On open modal emitter event
     */
    onOpen: EventEmitter<HostElement>;
    /**
     * On close modal emitter event
     */
    onClose: EventEmitter<HostElement>;
    /**
     * Observe the visible changes
     */
    watchVisible(newValue: boolean): void;
    /**
     * Open the modal window
     */
    open(): Promise<void>;
    /**
     * Close the modal window
     */
    close(): Promise<void>;
    /**
     * On component did loaded hook
     */
    componentDidLoad(): void;
    /**
     * Verify if the modal content overflow the viewport and set max height
     */
    private calculateBoundaries;
    /**
     * Search the content element
     */
    private getModalContentElement;
    /**
     * Search the Dock element
     */
    private getDockElement;
    /**
     * On click modal container handler
     *
     * @param e
     * @returns
     */
    private onClickContainer;
    /**
     * Render element
     */
    render(): any;
}
