///
///
import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor, UntypedFormControl } from '@angular/forms';
import { Location } from '../interfaces/location.interface';
import { GermanAddress } from '../interfaces';
import { ScriptLoaderService } from "../services/script-loader.service";
import PlaceResult = google.maps.places.PlaceResult;
import AutocompleteOptions = google.maps.places.AutocompleteOptions;
import * as i0 from "@angular/core";
export declare enum Appearance {
STANDARD = "standard",
FILL = "fill",
OUTLINE = "outline",
LEGACY = "legacy"
}
export declare class MatGoogleMapsAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {
private ngZone;
apiKey: string;
private loaderService;
autocomplete: google.maps.places.Autocomplete | undefined;
searchElementRef: ElementRef;
addressLabelText: string;
placeholderText: string;
requiredErrorText: string;
invalidErrorText: string;
appearance: string | Appearance;
value: PlaceResult;
address: PlaceResult | string;
country: string | string[];
placeIdOnly?: boolean;
strictBounds?: boolean;
types?: string[];
type?: string;
autoCompleteOptions: AutocompleteOptions;
onChange: EventEmitter;
onAutocompleteSelected: EventEmitter;
onGermanAddressMapped: EventEmitter;
onLocationSelected: EventEmitter;
private onNewPlaceResult;
private addressValidator;
addressSearchControl: UntypedFormControl;
propagateChange: (_: any) => void;
constructor(ngZone: NgZone, apiKey: string, loaderService: ScriptLoaderService);
ngOnInit(): void;
ngOnDestroy(): void;
initGoogleMapsAutocomplete(): void;
onQuery(event: any): void;
private resetAddress;
writeValue(obj: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState?(isDisabled: boolean): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}