import * as _angular_core from '@angular/core';
import { MXColorComponent, AXEvent } from '@acorex/cdk/common';
import { AXDecoratorIconComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';

/**
 * The Alert component is used to display notifications or alerts to users.
 *
 * @category Components
 */
declare class AXAlertComponent extends MXColorComponent {
    /**
     *  @ignore
     */
    axIcon: _angular_core.Signal<AXDecoratorIconComponent>;
    /**
     *  @ignore
     */
    axTitle: _angular_core.Signal<AXDecoratorGenericComponent>;
    /**
     *  @ignore
     */
    axContent: _angular_core.Signal<AXDecoratorGenericComponent>;
    /**
     *  @ignore
     */
    axFooter: _angular_core.Signal<AXDecoratorGenericComponent>;
    /**
     *  @ignore
     */
    protected showInline: _angular_core.WritableSignal<boolean>;
    /**
     * Emits an event when the alert component is closed.
     *
     * @event
     */
    onClosed: _angular_core.OutputEmitterRef<AXEvent>;
    /**
     *  @ignore
     */
    private customIcon;
    /**
     *  @ignore
     */
    private _timeOutRef;
    /**
     * Sets the duration (in milliseconds) after which the alert will automatically close.
     *
     * @defaultValue 0
     */
    timeOut: _angular_core.ModelSignal<number>;
    /**
     *  @ignore
     */
    timeOutEffect: () => void;
    /**
     *  @ignore
     */
    constructor();
    /**
     *  @ignore
     */
    private _setLayout;
    /**
     *  @ignore
     */
    protected _handleOnOptionChanged(): void;
    /**
     *  @ignore
     */
    private _setIcon;
    /**
     * Removes the alert from the container after a transition effect.
     *
     * @returns void - No return value. The alert is removed from the DOM and the onClosed event is emitted.
     */
    close(): void;
    /**
     *  @ignore
     */
    get __hostClass(): string;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXAlertComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXAlertComponent, "ax-alert", never, { "color": { "alias": "color"; "required": false; }; "timeOut": { "alias": "timeOut"; "required": false; "isSignal": true; }; }, { "colorChange": "colorChange"; "onClosed": "onClosed"; "timeOut": "timeOutChange"; }, ["axIcon", "axTitle", "axContent", "axFooter"], ["ax-button", "ax-close-button", "ax-title", "ax-icon", "ax-content", "ax-footer"], true, never>;
}

declare class AXAlertModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXAlertModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXAlertModule, never, [typeof AXAlertComponent], [typeof AXAlertComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXAlertModule>;
}

export { AXAlertComponent, AXAlertModule };
