import { Field } from "@fireenjin/components/dist/types/typings";
import { Color } from "@ionic/core";
import { ComponentInterface, EventEmitter } from "../../../stencil-public-runtime";
export declare class ModalFlow implements ComponentInterface {
  floodteamCloseModal: EventEmitter;
  headerTitle: string;
  /**
   * The name of the form used for ID and name
   */
  name: string;
  /**
   * The data from the form being filled out
   */
  formData: any;
  /**
   * The next button for the slider
   */
  nextButton: {
    expand?: "block" | "full";
    label?: string;
    color?: Color;
    fill?: "clear" | "outline" | "solid" | "default";
    icon?: string;
    iconSlot?: string;
    onClick?: (event: any) => void;
    disabled?: boolean;
    shape?: "round";
  };
  /**
   * The prev button for the slider
   */
  prevButton: {
    expand?: "block" | "full";
    label?: string;
    color?: Color;
    fill?: "clear" | "outline" | "solid" | "default";
    icon?: string;
    iconSlot?: string;
    onClick?: (event: any) => void;
    disabled?: boolean;
    shape?: "round";
  };
  /**
   * The save button for the flow
   */
  saveButton: {
    expand?: "block" | "full";
    label?: string;
    color?: Color;
    fill?: "clear" | "outline" | "solid" | "default";
    icon?: string;
    iconSlot?: string;
    onClick?: (event: any) => void;
    disabled?: boolean;
    shape?: "round";
  };
  /**
   * Should the form controls be hidden?
   */
  hideControls: boolean;
  /**
   * The endpoint that form submission should link to
   */
  endpoint: string;
  /**
   * The id of the document being edited
   */
  documentId: string;
  /**
   * The data to exclude from the form submit event
   */
  excludeData: string[];
  /**
   * A method that runs before form submission to allow editing of formData
   */
  beforeSubmit: (data: any, options?: any) => Promise<any>;
  /**
   * Should the form disable the loader on submit
   */
  disableLoader: boolean;
  /**
   * Is the component currently loading
   */
  loading: boolean;
  /**
   * Should the enter button binding be disabled
   */
  disableEnterButton: boolean;
  /**
   * Confirm leaving the page when the form is filled
   */
  confirmExit: boolean;
  /**
   * Has the form fields been changed
   */
  hasChanged: boolean;
  /**
   * The HTTP method to use when submitting the form
   */
  method: string;
  /**
   * The action to use for the form
   */
  action: string;
  /**
   * Emit the fetch event emitted when component loads
   */
  fetch: string | boolean;
  /**
   * The fetch params
   */
  fetchParams: any;
  /**
   * The map to bind data from fetch response to form data
   */
  fetchDataMap: any;
  /**
   * A list of options for SwiperJS
   * @link https://swiperjs.com/swiper-api#parameters
   */
  slidesOptions: any;
  pager: boolean;
  scrollbar: boolean;
  steps: {
    beforeHTML?: string;
    fields?: Field[];
    afterHTML?: string;
  }[];
  googleMapsKey: string;
  stripeKey: string;
  stripeElements: any;
  askConfirmation: boolean;
  render(): any[];
}
