///
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from "@angular/core";
import { ControlValueAccessor, FormControl } from "@angular/forms";
import { Location } from "../interfaces";
import PlaceResult = google.maps.places.PlaceResult;
import AutocompleteOptions = google.maps.places.AutocompleteOptions;
import * as i0 from "@angular/core";
export declare class MatGoogleMapsAutocompleteDirective implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor {
platformId: string;
elemRef: ElementRef;
private cf;
private ngZone;
inputField: ElementRef;
autocomplete: google.maps.places.Autocomplete | undefined;
address?: PlaceResult | string;
country?: string | string[];
placeIdOnly?: boolean;
strictBounds?: boolean;
types?: string[];
type?: string;
autoCompleteOptions: AutocompleteOptions;
onChange: EventEmitter;
onAutocompleteSelected: EventEmitter;
onLocationSelected: EventEmitter;
disabled?: boolean;
_value?: string | undefined;
get value(): string | undefined;
set value(value: string | undefined);
propagateChange: (_: any) => void;
constructor(platformId: string, elemRef: ElementRef, cf: ChangeDetectorRef, ngZone: NgZone);
ngOnDestroy(): void;
ngAfterViewInit(): void;
ngOnInit(): void;
validate(fc: FormControl): boolean;
onChangeInputValue(): void;
initGoogleMapsAutocomplete(): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
writeValue(obj: any): void;
initMap(): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}