export type Cleanup = () => void; declare global { interface Window { google?: any; } } export interface LocationComponents { label: string; placeId?: string; lat?: number; lng?: number; street?: string; houseNumber?: string; city?: string; state?: string; postalCode?: string; country?: string; countryCode?: string; } export interface LocationInputProps { apiKey: string; id?: string; name?: string; label?: string; placeholder?: string; helperText?: string; value?: string; defaultValue?: string; disabled?: boolean; required?: boolean; clearable?: boolean; debounceMs?: number; minCharsForSuggestions?: number; maxSuggestions?: number; countryCodes?: string[]; types?: Array<"address" | "establishment" | "geocode">; allowCoordinates?: boolean; includeQueryPredictions?: boolean; onChange?: (value: LocationComponents) => void; onPickPlace?: (value: LocationComponents) => void; onBlur?: (value: LocationComponents) => void; onFocus?: (value: LocationComponents) => void; onEnter?: (value: LocationComponents) => void; onEscape?: () => void; } export declare function createLocationInput(el: HTMLElement, props?: LocationInputProps): { destroy: () => void; };