import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
import { NgxModalActionType } from '../../types';
import * as i0 from "@angular/core";
/**
 * An abstract for the NgxModalService
 */
export declare class NgxModalAbstractComponent<ActionType extends NgxModalActionType, DataType = any> implements AfterViewInit {
    private platformId;
    private readonly elementRef;
    /**
     * Remove the modal on escape pressed
     */
    private onEscape;
    /**
     * An optional aria-labelledby property
     */
    ariaLabelledBy: string;
    /**
     * An optional aria-describedBy property
     */
    ariaDescribedBy: string;
    /**
     * Optional data that can be passed to the modal
     */
    data: DataType;
    /**
     * An emitter that will emit an action we can later respond to
     */
    action: EventEmitter<ActionType>;
    /**
     * An emitter that will emit if the modal is closed
     */
    close: EventEmitter<void>;
    constructor(platformId: string, elementRef: ElementRef<HTMLElement>);
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxModalAbstractComponent<any, any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgxModalAbstractComponent<any, any>, never, never, { "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "action": "action"; "close": "close"; }, never, never, true, never>;
}
