import { OnInit } from '@angular/core';
import { AbstractControl, NgControl } from '@angular/forms';
import * as i0 from "@angular/core";
export declare abstract class SdsFormControlDirective implements OnInit {
    private ngControl;
    control: AbstractControl;
    disabled: boolean;
    focus: boolean;
    required: boolean;
    id?: string;
    constructor(ngControl: NgControl, isDisabled: unknown, isRequired: unknown);
    onFocus(): void;
    onBlur(): void;
    ngOnInit(): void;
    protected getState(state: boolean, currentState: unknown): boolean;
    /**
     * Check if input was disabled by setting `disabled` directive
     */
    private setDisabled;
    /**
     * Check if input is required by setting `required` directive or validator
     */
    private setRequired;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdsFormControlDirective, [{ optional: true; host: true; }, { attribute: "disabled"; }, { attribute: "required"; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdsFormControlDirective, never, never, { "id": { "alias": "id"; "required": false; }; }, {}, never, never, true, never>;
}
