import { FormArray } from '@angular/forms';
import { Schema } from '../schema';
import { FormProperty } from './form-property';
import { FormPropertyErrors } from './form-property-errors';
import { FormPropertyFactory } from './form-property-factory';
import { GroupProperty } from './group-property';
declare const ArrayProperty_base: typeof FormArray & (new (...args: any[]) => FormProperty);
export declare class ArrayProperty extends ArrayProperty_base implements GroupProperty {
    private formPropertyFactory;
    constructor(formPropertyFactory: FormPropertyFactory, path: string, schema: Schema);
    _updateValue(): void;
    getErrors(): FormPropertyErrors | null;
    patchValue(value: any[], options?: {
        onlySelf?: boolean;
        emitEvent?: boolean;
    }): void;
    addProperty(): void;
    addPropertyAt(index: number): void;
    bindVisibility(): void;
    forEach(fn: (property: FormProperty) => void, opts?: {
        includeSelf: boolean;
    }): void;
    private getPropertyFromSchemaItems();
}
