import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { ChoicesModel } from '../../models/AddressComponentModel';
import { AbstractControl, FormBuilder, FormGroup, ControlValueAccessor, Validator, NgForm, FormArray } from '@angular/forms';
import { Subscription } from 'rxjs';
import { FarmUsageComponentModel } from '../../models/FarmUsageComponentModel';
import * as i0 from "@angular/core";
export declare class FarmUsageComponent implements ControlValueAccessor, OnInit, Validator, OnChanges {
    private fb;
    farmUsageFormDirective: NgForm;
    farmUsageForm: FormGroup;
    usageTypes: ChoicesModel[];
    onTouched: Function;
    onChangeSubs: Subscription[];
    constructor(fb: FormBuilder);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    initFarmUsageForm(): void;
    addFarm(): void;
    registerOnChange(onChange: any): void;
    registerOnTouched(onTouched: Function): void;
    setDisabledState(disabled: boolean): void;
    ngOnDestroy(): void;
    writeValue(formValue: FarmUsageComponentModel): void;
    validate(control: AbstractControl): any;
    get farmFormArray(): FormArray<any>;
    get usageType(): AbstractControl<any, any>;
    get farmKind(): AbstractControl<any, any>;
    get acresHead(): AbstractControl<any, any>;
    submit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FarmUsageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FarmUsageComponent, "app-farm-usage", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=farm-usage.component.d.ts.map