import * as i0 from '@angular/core';
import { InjectionToken, Signal } from '@angular/core';
import { NzValidateStatus, NzSizeLDSType, NzVariant } from 'ng-zorro-antd/core/types';
import { ReplaySubject } from 'rxjs';

declare class NzFormItemFeedbackIconComponent {
    readonly status: i0.InputSignal<NzValidateStatus>;
    protected readonly iconType: i0.Signal<"close-circle-fill" | "loading" | "check-circle-fill" | "exclamation-circle-fill" | null>;
    protected readonly class: i0.Signal<{
        "ant-form-item-feedback-icon": boolean;
        "ant-form-item-feedback-icon-error": boolean;
        "ant-form-item-feedback-icon-warning": boolean;
        "ant-form-item-feedback-icon-success": boolean;
        "ant-form-item-feedback-icon-validating": boolean;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzFormItemFeedbackIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzFormItemFeedbackIconComponent, "nz-form-item-feedback-icon", ["nzFormFeedbackIcon"], { "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

/**
 * 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 NZ_FORM_SIZE: InjectionToken<Signal<NzSizeLDSType | undefined>>;

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

/**
 * 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 NZ_FORM_VARIANT: InjectionToken<Signal<NzVariant>>;

export { NZ_FORM_SIZE, NZ_FORM_VARIANT, NzFormItemFeedbackIconComponent, NzFormStatusService };
