import { Mode } from "@ionic/core";
import { ForwardGeocodeOptions, GeocodeResponse } from "../geocode-controller/geocode-interface";
export declare class AddressSearchBox {
  private input?;
  private lazyGeocodeCtrl;
  /**
   * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
   */
  readonly mode: Mode;
  el: HTMLGlAddressSearchElement;
  bboxArray: [number, number, number, number];
  hasFocus: boolean;
  hasValue: boolean;
  results: GeocodeResponse[];
  /** @internal */
  /**
   * Bounding box for the search in the format [west, south, east, north].
   */
  readonly bbox: [number, number, number, number] | string;
  /**
   * Identifier for the geocode operation.
   */
  readonly jobId: string;
  /**
   * Maximum number of results to display.
   */
  readonly limit: number;
  /**
   * Maximum level the map will zoom to when a result is selected (e.g., for point results).
   */
  readonly maxZoom: number;
  /**
   * Placeholder text displayed in the input element.
   */
  readonly placeholder: string;
  /**
   * URL of the geocoding endpoint.
   */
  readonly url: string;
  /**
   * Padding in pixels used when zooming to a selected result.
   */
  readonly zoomPadding: number;
  componentWillLoad(): Promise<void>;
  handleGeocode(e: CustomEvent<{
    options: ForwardGeocodeOptions;
    response: GeocodeResponse[];
  }>): Promise<void>;
  handleBodyClick(): void;
  private handleKey;
  private handleDown;
  private handleUp;
  parseBbox(): void;
  private setFocus;
  private unsetFocus;
  private formatAddress;
  private selectResult;
  private geocode;
  private resultButtonFunction;
  private renderResults;
  private handleChange;
  private handleFocus;
  private handleClick;
  private callChange;
  private callFocus;
  private callClick;
  render(): any;
}
