import { ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { AbstractControl, ValidationErrors } from '@angular/forms';
import { MatLegacyAutocomplete as MatAutocomplete } from '@angular/material/legacy-autocomplete';
import { OverlayService } from '@aztrix/components/overlay';
import { CountryCodeRepresentation, VatCheckerApiService } from '@aztrix/helpers';
import { Property } from '@aztrix/models';
import { BehaviorSubject, Subscription } from 'rxjs';
import { AbstractPropertyEdit } from '../abstract-property-edit';
import * as i0 from "@angular/core";
export declare class LegalIdEditComponent extends AbstractPropertyEdit implements OnInit, OnChanges, OnDestroy {
    private _vatCheckerApiService;
    private _changeDetector;
    private _overlay;
    private _elementRef;
    private _defaultCountry$;
    matAutocomplete: MatAutocomplete;
    legalIdForm: import("@ngneat/reactive-forms").FormGroup<import("@ngneat/reactive-forms").ControlsOf<Property | import("@aztrix/sdk").ProfilePropertyRepresentation>>;
    subscriptionsOnInit: Subscription;
    subscriptionsOnChanges: Subscription;
    vatState: 'VALID' | 'INVALID' | 'PENDING' | undefined;
    constructor(_vatCheckerApiService: VatCheckerApiService, _changeDetector: ChangeDetectorRef, _overlay: OverlayService, _elementRef: ElementRef, _defaultCountry$: BehaviorSubject<CountryCodeRepresentation>);
    static propertyRequired(control: AbstractControl): ValidationErrors | null;
    static propertyInvalid(control: AbstractControl): ValidationErrors | null;
    static splitLegalId(legalId: string): {
        companyNumber: string;
        jurisdiction?: undefined;
    } | {
        jurisdiction: string;
        companyNumber: string;
    };
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    get legalIdValueForm(): import("@ngneat/reactive-forms").FormControl<string>;
    openSearchSelectCountryModal(): void;
    private _countrySelected;
    private _validateEuLegalIdWithRegex;
    private _validateNonEuLegalIdWithRegex;
    get jurisdictionIcon(): any;
    get vatCheckIcon(): "check-circle" | "alert-circle" | "circle-slice-5";
    get jurisdictionControl(): AbstractControl;
    get companyNumberControl(): AbstractControl;
    private _setJurisdiction;
    private _setCompanyNumber;
    static ɵfac: i0.ɵɵFactoryDeclaration<LegalIdEditComponent, [null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LegalIdEditComponent, "ax-legalid-edit", never, { "matAutocomplete": "matAutocomplete"; }, {}, never, never, false, never>;
}
