/// <reference types="googlemaps" />
/// <reference types="googlemaps" />
/// <reference types="googlemaps" />
import { EventEmitter } from '../../stencil-public-runtime';
import { IGooglePlacesAutocompleteComponent } from '@boldpenguin/sdk-types';
export declare class BpSdkGooglePlacesAutocomplete implements IGooglePlacesAutocompleteComponent {
    /**
     * Answer id
     */
    answerId: string;
    /**
     * Autocomplete attribute value for input
     */
    autoComplete: string;
    /**
     * Question code
     */
    code: string;
    /**
     * Aria label by id
     */
    labelId: string;
    /**
     * placeholder text
     */
    placeholder: string;
    /**
     * google api key, if no key library is not loaded
     */
    googleApiKey: string;
    /**
     * Filter text
     */
    filter: string;
    /**
     * Label to use
     */
    label: string;
    /**
     *  Labels that describe group
     */
    labelledBy: string;
    /**
     * Is required
     */
    required: boolean;
    /**
     * Error messages
     */
    errors: string[];
    /**
     * Error text
     */
    errorText: string;
    /**
     * is touched
     */
    touched: boolean;
    /**
     * is pristine
     */
    pristine: boolean;
    /**
     * Is answer in complete state
     */
    isCompleted: boolean;
    /**
     * When true, the field will be readonly. It will display only the label and value as plain text.
     */
    isReadOnly: boolean;
    /**
     * Question id
     */
    questionId: string;
    /**
     * Field type
     */
    fieldType: string;
    /**
     * minimum length of input
     */
    min: number;
    /**
     * maximum length of input
     */
    max: number;
    /**
     * Help text
     */
    helpText: string;
    /**
     * Specifically how the question was answered (ie. "ACORD 126")
     */
    answeredBySource: string | undefined;
    autocomplete: google.maps.places.Autocomplete;
    _labelledBy: string;
    placeChangedEvent: google.maps.MapsEventListener;
    value: google.maps.places.PlaceResult;
    isLoaded: boolean;
    useExternal: boolean;
    valueUpdate: EventEmitter<string>;
    placesUpdate: EventEmitter<any>;
    el: HTMLElement;
    setupAutocomplete(): void;
    handlePlaceChanged: () => void;
    resetState(): void;
    connectedCallback(): void;
    componentWillLoad(): void;
    getAutocompletePacContainer(autocomplete: any): any;
    disconnectedCallback(): void;
    componentDidLoad(): void;
    onAriaLabelledByChange(labelId: string): void;
    onLabelledByChange(labelledBy: string): void;
    updateLabelledBy(aria: string, ids: string): void;
    onIsLoadedChange(isLoaded: boolean): void;
    onGoogleApiKeyChange(token: string): Promise<void>;
    onPlaceChanged(): void;
    onChange: (e: InputEvent | ClipboardEvent) => void;
    render(): any[];
    renderExternal(): any;
    renderLabel(): any;
    renderHiddenInput(): any;
    renderVisibleInput(): any;
    renderInput(): any[];
    renderInternal(): any;
    renderReadOnlyElement(value: string): any;
}
