import * as i0 from '@angular/core';
import { OnChanges, TemplateRef, EventEmitter, AnimationCallbackEvent, SimpleChanges } from '@angular/core';
import * as _angular_cdk_bidi from '@angular/cdk/bidi';
import { NzConfigKey } from 'ng-zorro-antd/core/config';

declare class NzAlertMarqueeComponent {
    private readonly destroyRef;
    readonly nzPauseOnHover: i0.InputSignalWithTransform<boolean, unknown>;
    readonly nzSpeed: i0.InputSignalWithTransform<number, unknown>;
    private readonly track1Ref;
    private readonly track2Ref;
    private readonly trackWidth;
    protected readonly animationDuration: i0.Signal<number>;
    protected readonly class: i0.Signal<{
        'ant-alert-marquee': boolean;
        'ant-alert-marquee-pause-on-hover': boolean;
    }>;
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<NzAlertMarqueeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzAlertMarqueeComponent, "nz-alert-marquee", never, { "nzPauseOnHover": { "alias": "nzPauseOnHover"; "required": false; "isSignal": true; }; "nzSpeed": { "alias": "nzSpeed"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

type NzAlertType = 'success' | 'info' | 'warning' | 'error';
declare class NzAlertComponent implements OnChanges {
    private readonly cdr;
    private readonly animationType;
    protected readonly dir: i0.WritableSignal<_angular_cdk_bidi.Direction>;
    readonly _nzModuleName: NzConfigKey;
    nzAction: string | TemplateRef<void> | null;
    nzCloseText: string | TemplateRef<void> | null;
    nzIconType: string | null;
    nzMessage: string | TemplateRef<void> | null;
    nzDescription: string | TemplateRef<void> | null;
    nzType: 'success' | 'info' | 'warning' | 'error';
    nzCloseable: boolean;
    nzShowIcon: boolean;
    nzBanner: boolean;
    nzNoAnimation: boolean;
    nzIcon: string | TemplateRef<void> | null;
    readonly nzOnClose: EventEmitter<boolean>;
    closed: boolean;
    iconTheme: 'outline' | 'fill';
    inferredIconType: string;
    private isTypeSet;
    private isShowIconSet;
    constructor();
    closeAlert(): void;
    onLeaveAnimationDone(event: AnimationCallbackEvent): void;
    ngOnChanges(changes: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzAlertComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzAlertComponent, "nz-alert", ["nzAlert"], { "nzAction": { "alias": "nzAction"; "required": false; }; "nzCloseText": { "alias": "nzCloseText"; "required": false; }; "nzIconType": { "alias": "nzIconType"; "required": false; }; "nzMessage": { "alias": "nzMessage"; "required": false; }; "nzDescription": { "alias": "nzDescription"; "required": false; }; "nzType": { "alias": "nzType"; "required": false; }; "nzCloseable": { "alias": "nzCloseable"; "required": false; }; "nzShowIcon": { "alias": "nzShowIcon"; "required": false; }; "nzBanner": { "alias": "nzBanner"; "required": false; }; "nzNoAnimation": { "alias": "nzNoAnimation"; "required": false; }; "nzIcon": { "alias": "nzIcon"; "required": false; }; }, { "nzOnClose": "nzOnClose"; }, never, never, true, never>;
    static ngAcceptInputType_nzCloseable: unknown;
    static ngAcceptInputType_nzShowIcon: unknown;
    static ngAcceptInputType_nzBanner: unknown;
    static ngAcceptInputType_nzNoAnimation: unknown;
}

declare class NzAlertModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<NzAlertModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<NzAlertModule, never, [typeof NzAlertComponent, typeof NzAlertMarqueeComponent], [typeof NzAlertComponent, typeof NzAlertMarqueeComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<NzAlertModule>;
}

export { NzAlertComponent, NzAlertMarqueeComponent, NzAlertModule };
export type { NzAlertType };
