import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import * as i0 from "@angular/core";
export declare class ModalComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
    private elementRef;
    isOpen: boolean;
    title?: string;
    primaryButtonLabel?: string;
    secondaryButtonLabel?: string;
    hasCloseButton: boolean;
    closeOnOverlayClick: boolean;
    isLoading: boolean;
    autoCloseTimeout?: number;
    maxWidth: string;
    alignButtons: 'right' | 'center';
    singleButtonCenter: boolean;
    size: 'xsmall' | 'small' | 'medium' | 'large' | 'auto';
    width?: string;
    customClass?: string;
    close: EventEmitter<void>;
    primaryClick: EventEmitter<void>;
    secondaryClick: EventEmitter<void>;
    titleElement?: ElementRef;
    modalContainer?: ElementRef;
    isTitleOverflowing: boolean;
    fullTitle: string;
    autoCloseTimer?: any;
    constructor(elementRef: ElementRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    handleEscKey: (event: KeyboardEvent) => void;
    onOverlayClick(event: MouseEvent): void;
    onClose(): void;
    onPrimaryClick(): void;
    onSecondaryClick(): void;
    getButtonsClass(): string;
    private checkTitleOverflow;
    private startAutoCloseTimer;
    private clearAutoCloseTimer;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "cfc-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "title": { "alias": "title"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "secondaryButtonLabel": { "alias": "secondaryButtonLabel"; "required": false; }; "hasCloseButton": { "alias": "hasCloseButton"; "required": false; }; "closeOnOverlayClick": { "alias": "closeOnOverlayClick"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "autoCloseTimeout": { "alias": "autoCloseTimeout"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "alignButtons": { "alias": "alignButtons"; "required": false; }; "singleButtonCenter": { "alias": "singleButtonCenter"; "required": false; }; "size": { "alias": "size"; "required": false; }; "width": { "alias": "width"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; }, { "close": "close"; "primaryClick": "primaryClick"; "secondaryClick": "secondaryClick"; }, never, ["*", "*"], false, never>;
}
