import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { EvoModalService, EvoModalState } from './evo-modal.service';
import { Observable, Subscription } from 'rxjs';
import { EvoButtonColor, EvoButtonTheme } from '../evo-button';
import * as i0 from "@angular/core";
export declare enum EvoModalCloseTargets {
    BACKGROUND = "background",
    BUTTON = "button",
    DEFAULT = "default",
    ESC = "escape"
}
export declare class EvoModalComponent implements OnInit, OnDestroy {
    private readonly modalService;
    private readonly elRef;
    get id(): string;
    set id(id: string);
    titleText: string;
    acceptText: string;
    acceptButtonColor: EvoButtonColor;
    acceptButtonTheme: EvoButtonTheme;
    declineText: string;
    declineButtonColor: EvoButtonColor;
    declineButtonTheme: EvoButtonTheme;
    asyncAccept: () => Observable<any>;
    modalState: EvoModalState;
    isAcceptLoading: boolean;
    isDeclineDisabled: boolean;
    isVisible: boolean;
    readonly closeTargets: typeof EvoModalCloseTargets;
    private _id;
    private closeTarget;
    constructor(modalService: EvoModalService, elRef: ElementRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onBackgroundClick($event: any): void;
    handleOnClose(agreement: boolean, closeTarget: EvoModalCloseTargets): Subscription;
    private subscribeModalEvents;
    private initKeyboardListener;
    static ɵfac: i0.ɵɵFactoryDeclaration<EvoModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EvoModalComponent, "evo-modal", never, { "id": "id"; "titleText": "titleText"; "acceptText": "acceptText"; "acceptButtonColor": "acceptButtonColor"; "acceptButtonTheme": "acceptButtonTheme"; "declineText": "declineText"; "declineButtonColor": "declineButtonColor"; "declineButtonTheme": "declineButtonTheme"; "asyncAccept": "asyncAccept"; }, {}, never, ["evo-icon", "*"]>;
}
