import { VNode } from "../../../stencil-public-runtime";
import { TaxDocumentType } from "../data";
import { ParticipantType } from "./useDocusignForm";
export interface DocusignFormViewProps {
  states: {
    step: string;
    loading: boolean;
    urlLoading: boolean;
    disabled: boolean;
    hideSteps: boolean;
    participantTypeDisabled: boolean;
    loadingError?: boolean;
    showExitButton: boolean;
    showModal: boolean;
    formState: {
      taxFormExpired: boolean;
      participantType: "individualParticipant" | "businessEntity" | undefined;
      errors?: {
        participantType?: boolean;
        general?: boolean;
      };
    };
    documentType: TaxDocumentType;
    documentTypeString: string;
  };
  slots: {
    docusignExpiredSlot?: VNode;
    docusignIframeSlot: VNode;
  };
  callbacks: {
    onExit: () => void;
    setParticipantType: (p: ParticipantType) => void;
    onModalOpen: () => void;
    onModalClose: () => void;
  };
  text: {
    exitButton: string;
    formStep: string;
    taxForm: string;
    taxFormLabel: string;
    taxFormDescription: string;
    taxFormDescriptionIndividualParticipant: string;
    taxFormDescriptionBusinessEntity?: string;
    docusignExpired: string;
    docusignSessionWarning: string;
    businessEntity: string;
    individualParticipant: string;
    participantType: string;
    taxAndPayoutsDescription: string;
    supportLink: string;
    modalTitle: string;
    modalDescription: string;
    modalButtonText: string;
    error: {
      generalTitle: string;
      generalDescription: string;
      participantType: string;
      loadingErrorAlertHeader: string;
      loadingErrorAlertDescription: string;
    };
  };
}
export declare const DocusignFormView: (props: DocusignFormViewProps) => any;
