import { ControlElement, JsonFormsState, JsonSchema, OwnPropsOfControl, StatePropsOfControl } from '@jsonforms/core';
import { OnDestroy, OnInit } from '@angular/core';
import { NgRedux } from '@angular-redux/store';
import { FormControl, ValidatorFn } from '@angular/forms';
import { Subscription } from 'rxjs';
import { JsonFormsBaseRenderer } from './base.renderer';
export declare abstract class JsonFormsAbstractControl<Props extends StatePropsOfControl> extends JsonFormsBaseRenderer<ControlElement> implements OnInit, OnDestroy {
    protected ngRedux: NgRedux<JsonFormsState>;
    id: string;
    disabled: boolean;
    visible: boolean;
    form: FormControl;
    subscription: Subscription;
    data: any;
    label: string;
    description: string;
    error: string | null;
    scopedSchema: JsonSchema;
    rootSchema: JsonSchema;
    enabled: boolean;
    hidden: boolean;
    constructor(ngRedux: NgRedux<JsonFormsState>);
    getEventValue: (event: any) => any;
    onChange(ev: any): void;
    ngOnInit(): void;
    validator: ValidatorFn;
    mapAdditionalProps(props: Props): void;
    ngOnDestroy(): void;
    protected getOwnProps(): OwnPropsOfControl;
    protected abstract mapToProps(state: JsonFormsState): Props;
    protected triggerValidation(): void;
}
