/// <reference types="lodash" />
import { AbstractControl, FormArray, FormGroup } from '@angular/forms';
export declare class JsonSchemaFormService {
    JsonFormCompatibility: boolean;
    ReactJsonSchemaFormCompatibility: boolean;
    AngularSchemaFormCompatibility: boolean;
    globalOptions: {
        addSubmit: boolean;
        debug: boolean;
        fieldsRequired: boolean;
        pristine: {
            errors: boolean;
            success: boolean;
        };
        setSchemaDefaults: boolean;
        formDefaults: {
            feedback: boolean;
        };
    };
    initialValues: any;
    schema: any;
    layout: any[];
    formGroupTemplate: any;
    formGroup: any;
    framework: any;
    arrayMap: Map<string, number>;
    dataMap: Map<string, any>;
    dataCircularRefMap: Map<string, string>;
    schemaCircularRefMap: Map<string, string>;
    layoutRefLibrary: any;
    schemaRefLibrary: any;
    templateRefLibrary: any;
    constructor();
    initializeControl(ctx: any): boolean;
    updateValue(ctx: any, value: any): void;
    getControl(ctx: any): AbstractControl;
    getControlValue(ctx: any): AbstractControl;
    getControlGroup(ctx: any): FormArray | FormGroup;
    getControlName(ctx: any): string;
    getLayoutArray(ctx: any): any[];
    getDataPointer(ctx: any): string;
    getLayoutPointer(ctx: any): string;
    isControlBound(ctx: any): boolean;
    addItem(ctx: any): boolean;
    moveArrayItem(ctx: any, oldIndex: number, newIndex: number): boolean;
    removeItem(ctx: any): boolean;
}
