import { OnInit, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
import { MessageState } from '../../enums/message-state.enum';
import { MessageType } from '../../enums/message-type.enum';
import * as i0 from "@angular/core";
export declare class MessageComponent implements OnInit, OnChanges {
    private elementRef;
    message: string;
    description?: string;
    state: MessageState;
    type: MessageType;
    horizontalPosition: 'left' | 'center' | 'right';
    verticalPosition: 'top' | 'center' | 'bottom';
    verticalOffset: string;
    horizontalOffset: string;
    displayTime: number;
    isTemporary?: boolean;
    position: string;
    zIndex: number;
    display: string;
    get topPosition(): string | null;
    get bottomPosition(): string | null;
    get leftPosition(): string | null;
    get rightPosition(): string | null;
    isVisible: boolean;
    readonly messageTypes: typeof MessageType;
    private closeTimeoutId;
    ngOnInit(): void;
    constructor(elementRef: ElementRef);
    ngOnChanges(changes: SimpleChanges): void;
    get icon(): string;
    /**
     * Método público para abrir a mensagem.
     * Reinicia o temporizador de fechamento caso a mensagem seja temporária.
     */
    openMessage(): void;
    /**
     * Método público para fechar a mensagem manualmente.
     */
    closeMessage(): void;
    private restartCloseTimer;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MessageComponent, "cfc-message", never, { "message": { "alias": "message"; "required": false; }; "description": { "alias": "description"; "required": false; }; "state": { "alias": "state"; "required": false; }; "type": { "alias": "type"; "required": false; }; "horizontalPosition": { "alias": "horizontalPosition"; "required": false; }; "verticalPosition": { "alias": "verticalPosition"; "required": false; }; "verticalOffset": { "alias": "verticalOffset"; "required": false; }; "horizontalOffset": { "alias": "horizontalOffset"; "required": false; }; "displayTime": { "alias": "displayTime"; "required": false; }; "isTemporary": { "alias": "isTemporary"; "required": false; }; }, {}, never, never, false, never>;
}
