import { AfterViewInit, EventEmitter } from '@angular/core';
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
import { Modal as BSModal } from 'bootstrap';
import * as i0 from "@angular/core";
import * as i1 from "../../../utils/coercion";
/**
 * Modal windows
 * @description To show featured content, notifications to users, or personalized content.
 */
export declare class ItModalComponent extends ItAbstractComponent implements AfterViewInit {
    /**
     * Show/Hide close button on header
     * @default true
     */
    closeButton: boolean;
    /**
     * To correctly format the contents of the modal with icon
     * @default false
     */
    alertModal?: boolean;
    /**
     * To correctly format the contents of the modal with Link List
     * @default false
     */
    dialogLinkList?: boolean;
    /**
     * Modal type Popconfirm can be used for short confirmation messages.
     * @default false
     */
    popconfirm?: boolean;
    /**
     * You can choose to use a scroll inside the modal, keeping the header and footer of the modal always visible
     * @default false
     */
    scrollable?: boolean;
    /**
     * To have modals that appear with fades
     * @default true
     */
    fade?: boolean;
    /**
     * Modal alignment
     * - <b>centered</b>: to vertically center the modal
     * - <b>left</b>: to left-align the modal
     * - <b>right</b>: to right-align the modal
     * @default undefined
     */
    alignment: 'centered' | 'left' | 'right' | undefined;
    /**
     * The modal size
     * @default undefined
     */
    size: 'sm' | 'lg' | 'xl' | undefined;
    /**
     * Includes a modal-backdrop element. Alternatively, specify static for a backdrop which doesn’t close the modal when clicked.
     * @default true
     */
    backdrop: 'static' | boolean;
    /**
     * Puts the focus on the modal when initialized.
     * @default true
     */
    focus: boolean;
    /**
     * Closes the modal when escape key is pressed.
     * @default true
     */
    keyboard: boolean;
    /**
     * To better distinguish the footer element with a shadow
     * @default false
     */
    footerShadow?: boolean;
    /**
     * Modal options
     */
    options?: Partial<BSModal.Options>;
    /**
     * This event fires immediately when the instance method show is called.
     */
    showEvent: EventEmitter<Event>;
    /**
     * This event fires when the modal has been made visible to the user (it will wait for CSS transitions to complete).
     */
    shownEvent: EventEmitter<Event>;
    /**
     * This event is raised immediately when the instance method hide has been called.
     */
    hideEvent: EventEmitter<Event>;
    /**
     * This event fires when the modal has finished hiding from the user (it will wait for CSS transitions to complete).
     */
    hiddenEvent: EventEmitter<Event>;
    /**
     * This event is fired when the modal is displayed, its background is static and a click outside the modal or a press
     * of the esc key occurs and data-bs-keyboard is set to false.
     */
    hidePreventedEvent: EventEmitter<Event>;
    private modal?;
    private modalElement?;
    ngAfterViewInit(): void;
    protected get modalClass(): string;
    protected get dialogClass(): string;
    /**
     * Manually activate/deactivate a modal. Returns to the caller before the modal has actually been shown or hidden
     */
    toggle(): void;
    /**
     * Manually open a modal. Returns to the caller before the modal has actually been displayed
     */
    show(): void;
    /**
     * Manually hide a modal. Returns to the caller before the modal has actually been hidden
     */
    hide(): void;
    /**
     * Manually reposition the modal if the height of the modal changes when it is opened (in case a scroll bar appears).
     */
    handleUpdate(): void;
    /**
     * Destroys the modal of an element.
     */
    dispose(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ItModalComponent, "it-modal", ["itModal"], { "closeButton": { "alias": "closeButton"; "required": false; }; "alertModal": { "alias": "alertModal"; "required": false; }; "dialogLinkList": { "alias": "dialogLinkList"; "required": false; }; "popconfirm": { "alias": "popconfirm"; "required": false; }; "scrollable": { "alias": "scrollable"; "required": false; }; "fade": { "alias": "fade"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "size": { "alias": "size"; "required": false; }; "backdrop": { "alias": "backdrop"; "required": false; }; "focus": { "alias": "focus"; "required": false; }; "keyboard": { "alias": "keyboard"; "required": false; }; "footerShadow": { "alias": "footerShadow"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "showEvent": "showEvent"; "shownEvent": "shownEvent"; "hideEvent": "hideEvent"; "hiddenEvent": "hiddenEvent"; "hidePreventedEvent": "hidePreventedEvent"; }, never, ["[beforeTitle]", "[modalTitle]", "[description]", "*", "[footer]"], true, never>;
    static ngAcceptInputType_closeButton: i1.BooleanInput;
    static ngAcceptInputType_alertModal: i1.BooleanInput;
    static ngAcceptInputType_dialogLinkList: i1.BooleanInput;
    static ngAcceptInputType_popconfirm: i1.BooleanInput;
    static ngAcceptInputType_scrollable: i1.BooleanInput;
    static ngAcceptInputType_fade: i1.BooleanInput;
    static ngAcceptInputType_focus: i1.BooleanInput;
    static ngAcceptInputType_keyboard: i1.BooleanInput;
    static ngAcceptInputType_footerShadow: i1.BooleanInput;
}
