import { EventEmitter } from "../../stencil-public-runtime";
export declare class Form {
  private _schema;
  el: HTMLGlFormElement;
  /**
   * Emitted when the user cancels a form submission.
   */
  glFormCancel: EventEmitter;
  /**
   * Emitted when the feature properties are updated due to a field value
   * change.
   */
  glFormFeatureChanged: EventEmitter;
  /**
   * Emitted when the user submits the form.
   */
  glFormSubmit: EventEmitter;
  /**
   * Text for the cancel button.
   */
  readonly cancelText: string;
  /**
   * The feature being modified by the form.
   * The form sets values in the 'properties' object of the feature.
   */
  readonly feature: {
    properties: {
      [key: string]: any;
    };
  };
  /**
   * ID of the form.
   */
  readonly formId: string;
  /**
   * The label displayed in the toolbar of the `gl-form-page`.
   */
  readonly label: string;
  /**
   * The URL of the form schema JSON.
   */
  readonly schema: string;
  /**
   * Text for the submit button.
   */
  readonly submitText: string;
  /**
   * Treat labels in the form as i18n keys.
   */
  readonly translateText: boolean;
  componentWillLoad(): Promise<void>;
  componentDidLoad(): void;
  setValue(e: CustomEvent): void;
  handleFacet(e: CustomEvent): void;
  /**
   * Cancels and closes the form
   */
  cancel(): Promise<void>;
  /**
   * Submits the form and passes the feature that has been edited along to glFormSubmit
   */
  submit(): Promise<void>;
  private createFormPage;
  private filter;
  render(): any;
}
