import { ComponentConfig } from './../../models/componentConfig';
import { EventEmitter, ChangeDetectorRef } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { Task, Control, Field } from '../../models';
import { ProcessService } from '../../services/process.service';
import { BsDatepickerConfig } from 'ngx-bootstrap';
import { Subscription } from 'rxjs/index';
import { Debugger, DGSNotificationService } from '@dotgov/core';
import { ObjectLiteral } from '../../models/objectLiteral';
/**
 * @Author [GrigoreMe](https://github.com/grigoreme)
 */
export declare class FVAbstractControl extends Debugger {
    debugStatus: boolean;
    bsDateConfig: Partial<BsDatepickerConfig>;
    errorMsg: string;
    environment: any;
    _notification: DGSNotificationService;
    protected formData: Task;
    protected subscriptions: Subscription[];
    protected _task: Task;
    task: Task;
    protected _parentTask: Task;
    parentTask: Task;
    protected _control: Control;
    control: Control;
    protected _stateId: string;
    stateId: string;
    protected _processId: string;
    processId: string;
    protected _group: FormGroup;
    group: FormGroup;
    protected _tabIndex: number;
    tabIndex: number;
    protected _disabled: boolean;
    disabled: boolean;
    updateGroup: EventEmitter<any>;
    private _process;
    constructor(_process: ProcessService);
    generateUserData(): any;
    /**
     * Returns debug text for current component.
     */
    toString(): string;
    updateFormGroup(event: any): void;
    hasHandler(handler: 'add' | 'edit' | 'delete'): boolean;
    readonly recordData: ObjectLiteral;
    readonly defaultControlSize: number;
    readonly tooltip: string;
    readonly isReadOnly: boolean;
    readonly componentConfig: ComponentConfig;
    readonly buttonsDebug: boolean;
    readonly hideLabel: boolean;
    protected setValue(_value?: any): void;
    protected AfterViewInit(): void;
    protected saveKey(): void;
    protected controlRef(refName?: string, task?: Task): Control | Field;
    protected evalEventJs(): void;
    private loadNotificationService();
    protected OnDestroy(ref?: ChangeDetectorRef): void;
}
