import { EventEmitter } from '../../stencil-public-runtime';
import type { InputStateEvent, InputValueEvent, RegistrationConfig, RegCfgContentField, StepState, InputValue, InputValidity } from '../../../../general-input/src/utils/types';
import '@everymatrix/general-input';
export declare class GeneralRegistration {
  /**
   * NorWAy Endpoint for all the calls.
   */
  endpoint: string;
  /**
  * Currently selected language
  */
  language: string;
  /**
   * Client custom styling via inline styles
   */
  clientStyling: string;
  /**
   * Client custom styling via url
   */
  clientStylingUrl: string;
  /**
   * Translations via URL
   */
  translationUrl: string;
  /**
   * Date format for date picker
   */
  dateFormat: string;
  /**
   * Boolean that decides the position of the button. e.g. button inside -- true / outside -- false the form.
   */
  buttonInsideForm: boolean;
  /**
   * Affiliate code to be passed in and sent in the registration.
   */
  btag: string;
  /**
   * Boolean flag that tells inputs to emit an event on click.
   */
  emitOnClick: boolean;
  host: HTMLElement;
  errorMessage: string;
  isFormValid: boolean;
  isLoading: boolean;
  isLoadingPOST: boolean;
  registrationStep: string;
  forms: any[];
  limitStylingAppends: boolean;
  autofilled: boolean;
  sendStep(): void;
  handleStylingChange(newValue: string, oldValue: string): void;
  handleStylingUrlChange(newValue: string, oldValue: string): void;
  setFormValidity(): void;
  addBtag(): void;
  private registrationID;
  listOfInputValues: InputValue[];
  listOfInputValidity: InputValidity[];
  listOfActions: any[];
  listOfInputs: any[];
  lastStep: string;
  emitValue: boolean;
  form: HTMLElement;
  errorCode: string;
  backButtonPressed: boolean;
  registerErrors: boolean;
  extraActions: Array<string>;
  registerCredentialsEvent: CustomEvent;
  registrationStepsState: {
    regId: any;
  };
  registrationWidgetLoaded: EventEmitter;
  registrationStepUpdated: EventEmitter<string>;
  checkInputsValidityHandler(event: CustomEvent<InputStateEvent>): void;
  getInputsValueHandler(event: CustomEvent<InputValueEvent>): void;
  componentWillLoad(): Promise<void>;
  componentDidLoad(): void;
  nextHandler(e: any): void;
  backHandler(e: any): void;
  dispatchRegisterCredentialsEvent(): void;
  stepsStateMachine(state: StepState): void;
  getRegisterConfig(registrationID?: string): Promise<RegistrationConfig>;
  setRegisterStep(): void;
  setRegister(): void;
  formatConfig(config: RegistrationConfig): void;
  addBtagValue(): void;
  addTranslation(field: any): void;
  setInitialValidStatus(field: RegCfgContentField): boolean;
  stepChange(action: any): string;
  getInvalidStatus(listOfInputs: any): boolean;
  setClientStyling: () => void;
  setClientStylingURL: () => void;
  renderForm(): any[];
  renderButtons(): HTMLElement;
  render(): any;
}
