UNPKG

@adyen/kyc-components

Version:

This guide assumes that you have already an account with Adyen. A legalEntity needs to be created, and you need to have a `legalEntityId` to instatiate a Component.

36 lines (35 loc) 2.25 kB
import type { Dispatch, StateUpdater } from 'preact/hooks'; import type { Scenario } from '../api/configurations/configurations.types'; import type { BankVerificationVendor } from '../api/transferInstruments/transferInstruments.types'; import type { LoadingStatus } from '../components/ui/atoms/LoaderWrapper/constants'; import type { TopLevelDataSchema } from '../context/StateContext/types'; import type { AccountFormatRequirements, PayoutAccountFormats } from '../datasets/generators/getAccountFormatForCountry'; import type { LegalEntityType } from '../core/models/api/legal-entity-type'; import type { TaskType } from '../stores/globalStore/taskTypes'; import type { CountryCode } from '../types/datasets/country-code'; import type { FormConfiguration } from '../types/form-configuration'; import type { BankAccountFormatType } from '../components/BankAccount/fields/BankAccountFormat/types'; export type ParseConfiguration<TLDS extends TopLevelDataSchema> = (configuration: { scenarios: Scenario[]; taskList?: TaskType[]; provider?: BankVerificationVendor; bankVerificationProviders?: Partial<Record<CountryCode, string>>; requiredFields: AccountFormatRequirements | undefined; bankVerificationAvailable?: boolean; country: CountryCode; }) => FormConfiguration<TLDS, string>; interface UseScenarioConfigurationOptions<TLDS extends TopLevelDataSchema> { parseConfiguration: ParseConfiguration<TLDS>; country: CountryCode; legalEntityType: LegalEntityType; setLoadingStatus: Dispatch<StateUpdater<LoadingStatus>>; getPayoutAccountFormatData?: () => Promise<PayoutAccountFormats>; instantVerificationAvailable?: boolean; existingBankAccountFormat?: BankAccountFormatType; } interface ScenarioConfiguration<TLDS extends TopLevelDataSchema> { fieldConfigurations: FormConfiguration<TLDS, string> | undefined; requiredFields: AccountFormatRequirements | undefined; } export declare const useScenarioConfiguration: <TLDS extends TopLevelDataSchema>({ getPayoutAccountFormatData, parseConfiguration, country, legalEntityType, instantVerificationAvailable, setLoadingStatus, existingBankAccountFormat, }: UseScenarioConfigurationOptions<TLDS>) => ScenarioConfiguration<TLDS>; export {};