import { VNode } from "../../../stencil-public-runtime";
import { BankingInfoFormData } from "./useBankingInfoForm";
export interface BankingInfoFormViewProps {
  states: {
    showVerification: boolean;
    step?: string;
    locale?: string;
    loading: boolean;
    saveLoading?: boolean;
    disabled: boolean;
    saveDisabled: boolean;
    hideSteps?: boolean;
    hasPayPal: boolean;
    hideBanking?: boolean;
    hidePayPal?: boolean;
    hideBalanceThreshold?: boolean;
    hideFixedDay?: boolean;
    hideBackButton: boolean;
    feeCap?: string;
    isPartner: boolean;
    paymentMethodFeeLabel?: string;
    loadingError: boolean;
    formState: BankingInfoFormData & {
      paymentMethodChecked?: "toBankAccount" | "toPayPalAccount";
      paymentScheduleChecked?: "BALANCE_THRESHOLD" | "FIXED_DAY";
      errors?: {
        general?: boolean;
        inputErrors?: {
          [field: string]: {
            type: "required" | "invalid";
          };
        };
      };
    };
    bitset?: number;
    currency?: string;
    thresholds: string[];
    countries?: {
      countryCode: string;
      displayName: string;
    }[];
    allCountries?: {
      countryCode: string;
      displayName: string;
    }[];
    currentPaymentOption?: any;
    showInputs?: boolean;
    bankCountry?: string;
    countrySearch?: string;
    email?: string;
    showModal: boolean;
  };
  slots?: {
    verificationDialogSlot?: VNode;
    formInputsSlot?: VNode[];
    countryInputSlot?: VNode;
    paymentMethodSlot?: VNode;
    paymentThresholdSelectSlot?: VNode;
    paymentFixedDaySelectSlot?: VNode;
    paypalInputSlot?: VNode;
  };
  callbacks: {
    onVerificationHide: () => void;
    setPaymentMethodChecked: (paymentMethodChecked: "toBankAccount" | "toPayPalAccount") => void;
    setPaymentScheduleChecked: (paymentMethodChecked: "BALANCE_THRESHOLD" | "FIXED_DAY") => void;
    onSubmit: (props: any) => Promise<void>;
    onBack: (props: any) => void;
    setBankCountry?: (country: string) => void;
    setCurrency?: (currency: string) => void;
    setCountrySearch: (c: any) => void;
    onVerification: (token: string) => void;
    onModalOpen: () => void;
    onModalClose: () => void;
  };
  text: {
    formStep: string;
    taxAndPayouts: string;
    taxAndPayoutsDescription: string;
    directlyToBankAccount: string;
    toPayPalAccount: string;
    paymentMethod: string;
    paymentMethodSubtext: string;
    continueButton: string;
    backButton: string;
    bankLocationLabel: string;
    payPalInputLabel: string;
    paymentSchedule: string;
    paymentScheduleBalanceThreshold: string;
    paymentScheduleFixedDay: string;
    paymentDaySelectLabel: string;
    paymentThresholdSelectLabel: string;
    paymentDayFirstOfMonthLabelText: string;
    paymentDayFifteenthOfMonthLabelText: string;
    isPartnerAlertHeader: string;
    isPartnerAlertDescription: string;
    supportLink: string;
    verifyEmailHeaderText: string;
    verifyEmailDescriptionText: string;
    modalTitle: string;
    modalDescription: string;
    modalButtonText: string;
    error: {
      generalTitle: string;
      generalDescription: string;
    };
  };
  refs: {
    formRef: any;
  };
}
export declare const BankingInfoFormView: (props: BankingInfoFormViewProps) => any;
