import { SupportedLanguages } from 'b2b-sprinque-tools/dist/src/types';
export type Step = '1' | '2' | '3' | '4' | '5' | '6';
export type PAYMENT_TERMS = 'PAY_IN_ADVANCE' | 'NET7' | 'NET15' | 'NET30' | 'NET45' | 'NET60' | 'NET90' | 'PAY_IN_3' | 'PAY_IN_6' | 'PAY_IN_9' | 'PAY_IN_12';
export type PAYMENT_TERMS_IN_PRICES = 'pay_in_advance' | 'net7' | 'net15' | 'net30' | 'net45' | 'net60' | 'net90' | 'pay_in_3' | 'pay_in_6' | 'pay_in_9' | 'pay_in_12';
export type Address = {
address_line1: string;
address_line2: string;
city: string;
country: string;
zip_code: string;
};
export type AddressFromAPI = {
address_line_1: string;
address_line_2: string;
city: string;
country: string;
house_no: string;
street: string;
zipcode: string;
};
export type AddressWithCountryCode = Omit
& {
country_code: string;
};
export type SearchBusinessItem = {
business_name: string;
country: string;
registration_number: string;
credit_bureau_id: string;
address: AddressFromAPI;
};
export type Buyer = {
buyer_id: string;
merchant_buyer_id: string;
business_name: string;
legal_form: string;
steuernummer: null;
registration_number: string;
registration_date: null | Date;
vat_id: null | string;
email: null | string;
phone: null | string;
status: string;
address: Address & {
country: {
name: string;
code: string;
};
};
buyer_users: Array<{
user_id: string;
first_name: string;
last_name: string;
date_of_birth: null | Date;
language: null | string;
email: string;
phone: string;
role: string;
email_otp_validated: boolean;
}>;
credit_qualification?: {
credit_decision: string;
payment_terms: null | PAYMENT_TERMS;
eligible_payment_terms: Array;
available_credit_limit: string;
credit_limit: string;
credit_limit_currency: string;
};
metadata: null | Record;
};
export type BuyerUiPayload = {
business_name: string;
legal_form: string;
email?: string;
merchant_buyer_id: string;
registration_number?: string;
address: AddressWithCountryCode;
language?: SupportedLanguage;
buyer_users: Array<{
first_name: string;
last_name: string;
phone: string;
email: string;
language?: SupportedLanguage;
}>;
initial_shipping_address?: AddressWithCountryCode;
initial_order_amount?: string;
initial_order_currency_code?: string;
credit_bureau_id?: string;
metadata: {
IPv4?: string;
continent_code?: string;
continent_name?: string;
country_code?: string;
country_name?: string;
city?: string;
privacyPolicyConfirmed?: boolean;
};
};
export type SUPPORTED_CURRENCIES = 'EUR' | 'USD' | 'GBP';
export type AuthOrderPayload = {
merchant_order_id: string;
order_amount: number;
payment_terms?: string;
order_currency: SUPPORTED_CURRENCIES;
shipping_address: AddressWithCountryCode;
metadata?: Record;
};
export type AuthOrderResponse = {
transaction_id: string;
merchant_order_id: string;
payment_terms: PAYMENT_TERMS;
order_amount: string;
order_currency: 'EUR';
available_credit_balance: string;
shipping_address: Address & {
country: {
name: string;
code: string;
};
};
transaction_status: string;
issued_by: string;
metadata: Record;
trace_id: string;
};
export type RequestError = {
error_code: string;
errors: Record>;
trace_id: string;
};
export type CountryFromSearch = {
name: string;
code: string;
status: 'ACTIVE' | 'INACTIVE';
is_registration_number_required: boolean;
is_search_by_vat_available: boolean;
is_search_by_status_available: boolean;
};
export type LanguageFromApi = {
name: string;
code: SupportedLanguage;
};
type SupportedLanguage = SupportedLanguages;
export declare const SUPPORTED_LANGUAGES: Array;
export type InitialValues = {
countryCode?: string;
companyName?: string;
registrationNumber?: string;
billingEmail?: string;
vatId?: string;
addressLine1?: string;
addressLine2?: string;
city?: string;
zip?: string;
userName?: string;
userLastName?: string;
userEmail?: string;
userPhone?: string;
userLanguage?: string;
};
export type ISprinque = {
env?: 'testing' | 'sandbox' | 'production';
onBuyerResponse?: (buyer: Buyer) => void;
onClose?: () => void;
onOrderCreated?: (order: AuthOrderResponse) => void;
onOrderFailed?: (errors: Record>) => void;
order?: AuthOrderPayload;
buyerId?: string;
showSprinqueLogo?: boolean;
lang?: SupportedLanguage;
token?: string;
getTokenUrl?: string;
targetSelector?: string;
customStyles?: string;
initialValues?: InitialValues;
initialShippingAddress?: AddressWithCountryCode;
initialOrderAmount?: number;
initialOrderCurrencyCode?: SUPPORTED_CURRENCIES;
disabledValues?: Array<'userEmail'>;
showManualReviewScreenIfBuyerUnderReview?: boolean;
showCloseModalIconOnSuccessPage?: boolean;
lastScreenCustomHTML?: {
buyerWentToManualReview?: string;
buyerWasApproved?: string;
pendingOrderPlaced?: string;
buyerWasRejected?: string;
orderFailed?: string;
};
merchantBuyerId?: string;
buyersMetadata?: Record;
allowedCountries?: null | Array;
};
export type SellerPrices = {
buyer_pricing_fee_percent: {
net7: string;
net15: string;
net30: string;
net45: string;
net60: string;
net90: string;
pay_in_advance: string;
pay_in_3: string;
pay_in_6: string;
pay_in_9: string;
pay_in_12: string;
};
seller_pricing_fee_percent: {
net7: string;
net15: string;
net30: string;
net45: string;
net60: string;
net90: string;
pay_in_advance: string;
};
};
export type SellerInfo = {
seller_id: string;
name: string;
trade_name: string;
address: Address & Omit & {
zipcode: string;
country: {
name: string;
code: string;
};
};
vat_id: string;
email: string;
logo: string;
is_otp_feature_enabled: boolean;
is_pending_order_enabled: boolean;
language: SupportedLanguage;
default_payment_terms: PAYMENT_TERMS;
eligible_payment_terms: Array;
trace_id: string;
};
export {};