import { ReplaySubject, BehaviorSubject } from 'rxjs';
import { NzValidateStatus } from 'ng-zorro-antd/core/types';
import * as i0 from '@angular/core';
import { OnChanges, ChangeDetectorRef, SimpleChanges } from '@angular/core';

declare class NzFormStatusService {
    formStatusChanges: ReplaySubject<{
        status: NzValidateStatus;
        hasFeedback: boolean;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzFormStatusService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NzFormStatusService>;
}

declare class NzFormNoStatusService {
    noFormStatus: BehaviorSubject<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzFormNoStatusService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NzFormNoStatusService>;
}

/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */

declare const iconTypeMap: {
    readonly error: "close-circle-fill";
    readonly validating: "loading";
    readonly success: "check-circle-fill";
    readonly warning: "exclamation-circle-fill";
};
declare class NzFormItemFeedbackIconComponent implements OnChanges {
    cdr: ChangeDetectorRef;
    status: NzValidateStatus;
    iconType: (typeof iconTypeMap)[keyof typeof iconTypeMap] | null;
    ngOnChanges(_changes: SimpleChanges): void;
    updateIcon(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzFormItemFeedbackIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzFormItemFeedbackIconComponent, "nz-form-item-feedback-icon", ["nzFormFeedbackIcon"], { "status": { "alias": "status"; "required": false; }; }, {}, never, never, true, never>;
}

export { NzFormItemFeedbackIconComponent, NzFormNoStatusService, NzFormStatusService };
