import { EventEmitter } from "../../stencil-public-runtime";
export declare class Field {
  el: HTMLGlFieldElement;
  /**
   * Emitted when the field value is changed by the user.
   */
  glFieldValueChanged: EventEmitter;
  message: string;
  /**
   * The feature property that corresponds to the form field.
   */
  readonly attribute: string;
  /**
   * Image URL for the field item.
   */
  readonly image: string;
  /**
   * Label text for the field item.
   */
  readonly label: string;
  /**
   * A placeholder prompt text to display to the user, valid only for textarea and input fields.
   */
  readonly placeholder: string;
  /**
   * The field must be filled out before the form can be submitted.
   */
  readonly required: boolean;
  /**
   * Field type. It is not currently used.
   */
  readonly type: any;
  /**
   * Widget used to render the field.
   */
  readonly widget: "input" | "radio" | "select" | "textarea" | "instructions";
  optionChanged(e: any): void;
  private _getValue;
  /**
   * Returns whether this field is valid
   * @returns
   */
  isValid(): Promise<boolean>;
  /**
   * Returns the value of the attribute of the feature this form is editing
   * @returns value of the attribute of the feature
   */
  getValue(): Promise<any>;
  /**
   * Checks whether the value is required and also present
   * If it is not returns an error text, if it is valid returns null
   * @returns
   */
  validate(): Promise<string>;
  private changed;
  private onChange;
  private getRadioField;
  private getSelectField;
  private onInput;
  private getTextareaField;
  private getInstructionsField;
  private getInputField;
  render(): any;
}
