import { MapGeoJSONFeature } from "maplibre-gl";
export interface attributeOptions {
  /**
   * A display name for this attribute.
   */
  alias?: string;
  /**
   * The name of the attribute as it appears in the feature object.
   */
  name: string;
  /**
   * The display format of this attribute.
   *
   * Valid text options are "decimal", "currency", or "percent".
   *
   * Alternatively an options object for the toLocaleString function may also be passed.
   */
  format?: string | any;
}
export declare class AttributeValues {
  private options;
  el: HTMLGlAttributeValuesElement;
  /**
   * An array of attribute configuration objects, or a stringified version
   * of the array. See the section above for option details.
   */
  readonly attributeOptions: string | attributeOptions[];
  /**
   * An array of GeoJSON features for which to display attributes.
   */
  readonly features: MapGeoJSONFeature[];
  /**
   * Header text for the attributes list. It is ignored if `headerAttribute`
   * is specified.
   */
  readonly header: string;
  /**
   * The name of an attribute that should be displayed in the list header.
   */
  readonly headerAttribute: string;
  /**
   * Position property for `ion-label` elements.
   */
  readonly labelPosition: "fixed" | "floating" | "stacked";
  /**
   * Maximum number of features to display.
   */
  readonly limit: number;
  /**
   * Maximum width of the `ion-note` element used to display attribute values.
   */
  readonly valueMaxWidth: string;
  componentWillLoad(): void;
  /**
   * Converts a format attribute option from a string to the json object we can pass into toLocaleString.
   * If the format is one of the three possible string values, create a specific options object for that.
   */
  private parseFormat;
  /**
   * If the attribute options are given to us as a string, attempt to parse them into an object.
   */
  private parseAttributeOptions;
  private getItemsForFeature;
  private generateOptions;
  render(): any;
}
