import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, TemplateRef } from '@angular/core';
import type { Components, ModalBreakpointChangeEventDetail } from '@brucestafflink/ionic-core/components';
import * as i0 from "@angular/core";
export declare interface IonModal extends Components.IonModal {
    /**
     * Emitted after the modal has presented.
     **/
    ionModalDidPresent: EventEmitter<CustomEvent>;
    /**
     * Emitted before the modal has presented.
     */
    ionModalWillPresent: EventEmitter<CustomEvent>;
    /**
     * Emitted before the modal has dismissed.
     */
    ionModalWillDismiss: EventEmitter<CustomEvent>;
    /**
     * Emitted after the modal has dismissed.
     */
    ionModalDidDismiss: EventEmitter<CustomEvent>;
    /**
     * Emitted after the modal breakpoint has changed.
     */
    ionBreakpointDidChange: EventEmitter<CustomEvent<ModalBreakpointChangeEventDetail>>;
    /**
     * Emitted after the modal has presented. Shorthand for ionModalDidPresent.
     */
    didPresent: EventEmitter<CustomEvent>;
    /**
     * Emitted before the modal has presented. Shorthand for ionModalWillPresent.
     */
    willPresent: EventEmitter<CustomEvent>;
    /**
     * Emitted before the modal has dismissed. Shorthand for ionModalWillDismiss.
     */
    willDismiss: EventEmitter<CustomEvent>;
    /**
     * Emitted after the modal has dismissed. Shorthand for ionModalDidDismiss.
     */
    didDismiss: EventEmitter<CustomEvent>;
}
export declare class IonModal {
    protected z: NgZone;
    template: TemplateRef<any>;
    isCmpOpen: boolean;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonModal, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IonModal, "ion-modal", never, { "animated": "animated"; "keepContentsMounted": "keepContentsMounted"; "backdropBreakpoint": "backdropBreakpoint"; "backdropDismiss": "backdropDismiss"; "breakpoints": "breakpoints"; "canDismiss": "canDismiss"; "cssClass": "cssClass"; "enterAnimation": "enterAnimation"; "event": "event"; "handle": "handle"; "handleBehavior": "handleBehavior"; "initialBreakpoint": "initialBreakpoint"; "isOpen": "isOpen"; "keyboardClose": "keyboardClose"; "leaveAnimation": "leaveAnimation"; "mode": "mode"; "presentingElement": "presentingElement"; "showBackdrop": "showBackdrop"; "translucent": "translucent"; "trigger": "trigger"; }, {}, ["template"], never, false>;
}
