import { Injector, OnChanges, SimpleChanges, Type } from '@angular/core';
import { AbstractSchemaControl, SchemaFormArray, SchemaFormControl, SchemaFormGroup } from '../forms/forms';
import { JSONSchemaTypes } from '../interfaces/json-schema';
import { NzSchema } from '../interfaces/nz-schema';
import * as i0 from "@angular/core";
export declare const FIELD_ROOT_NAME = "__root__";
export declare class SchemaFieldComponent implements OnChanges {
    name: string;
    schema: NzSchema;
    schemaForm: AbstractSchemaControl;
    type: JSONSchemaTypes;
    schemaTypes: typeof JSONSchemaTypes;
    widgetInjector: Injector | null;
    WidgetComponent: Type<any> | null;
    controls: AbstractSchemaControl[];
    readonly narrowGroup: (form: AbstractSchemaControl) => SchemaFormGroup;
    readonly narrowArray: (form: AbstractSchemaControl) => SchemaFormArray;
    readonly narrowControl: (form: AbstractSchemaControl) => SchemaFormControl;
    private schemaWidgetRegistryService;
    private injector;
    private schemaFormBuilder;
    private cdr;
    ngOnChanges(changes: SimpleChanges): void;
    setWidgetIfNeed(): void;
    createWidgetInjector(): void;
    push(formArray: SchemaFormArray): void;
    removeAt(formArray: SchemaFormArray, index: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SchemaFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SchemaFieldComponent, "nz-schema-field", never, { "name": { "alias": "name"; "required": false; }; "schema": { "alias": "schema"; "required": false; }; "schemaForm": { "alias": "schemaForm"; "required": false; }; }, {}, never, never, true, never>;
}
