import { QueryList } from '@angular/core';
import { ValidatorFn } from '@angular/forms';
import { SchemaPropertyType } from '../../schema';
import { ActionRegistry } from '../../model/actionregistry';
import { ButtonComponent } from '../button/button.component';
import { TemplateSchemaElement } from '../template-schema-element';
import { TemplateSchemaElementRegistry } from '../template-schema-element-registry';
import { Field } from './field';
export declare abstract class FieldParent extends TemplateSchemaElement {
    name: string;
    type: SchemaPropertyType;
    readonly path: string;
    protected abstract actionRegistry: ActionRegistry;
    protected abstract templateRegistry: TemplateSchemaElementRegistry;
    protected abstract childButtons: QueryList<ButtonComponent>;
    getButtons(): {
        id: string;
        label: string;
        widget?: string | object;
    }[];
    protected getFieldsValidators(fields: Field[]): {
        path: string;
        validators: ValidatorFn | ValidatorFn[];
    }[];
    protected getFieldsSchema(fields: Field[]): any;
}
