interface IFormLabels {
  title: string;
  firstName: string;
  lastName: string;
  email: string;
  mobile: string;
  company: string;
  date: string;
  session: string;
  terms: string;
  residence: string;
  unitType: string;
  unitSize: string;
  budget: string;
  purpose: string;
  clearButtonLabel: string;
  submitButtonLabel: string;
  errorTitleRequired: string;
  errorFirstNameRequired: string;
  errorFirstNameInvalid: string;
  errorLastNameRequired: string;
  errorLastNameInvalid: string;
  errorEmailRequired: string;
  errorEmailInvalid: string;
  errorMobileRequired: string;
  errorMobileInvalid: string;
  errorCompanyRequired: string;
  errorTermsRequired: string;
  errorDateRequired: string;
  errorSessionRequired: string;
  errorUnitTypeRequired: string;
  errorPurposeRequired: string;
  errorRecaptchaRequired: string;
  formSuccessText: string;
  formErrorText: string;
}


 interface IContactForm {
  title?: string;
  footerText?: string;
  titleOptions: ISelectOption[];
  budgetOptions: ISelectOption[];
  purposeOptions: ISelectOption[];
  unitSizeOptions: ISelectOption[];
  unitTypeOptions: ISelectOption[];
  labels: IFormLabels;
  /*@ignore*/
  onSubmit: (values: IContactFormValues) => Promise<IResponse>;
}
