export declare type Step = '1' | '2' | '3' | '4' | '5' | '6';
export declare type PAYMENT_TERMS = 'PAY_IN_ADVANCE' | 'NET7' | 'NET15' | 'NET30' | 'NET45' | 'NET60' | 'NET90';
export declare type PAYMENT_TERMS_IN_PRICES = 'pay_in_advance' | 'net7' | 'net15' | 'net30' | 'net45' | 'net60' | 'net90';
export declare type Address = {
    address_line1: string;
    address_line2: string;
    city: string;
    country: string;
    zip_code: string;
};
export declare type AddressWithCountryCode = Omit<Address, 'country'> & {
    country_code: string;
};
export declare type SearchBusinessItem = {
    business_name: string;
    country: string;
    registration_number: string;
    credit_bureau_id: string;
    address: Address;
};
export declare 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<PAYMENT_TERMS>;
        available_credit_limit: string;
        credit_limit: string;
        credit_limit_currency: string;
    };
    metadata: null | Record<string, unknown>;
};
export declare type BuyerUiPayload = {
    business_name: string;
    legal_form: string;
    email?: string;
    merchant_buyer_id: string;
    registration_number: string;
    address: AddressWithCountryCode;
    buyer_users: Array<{
        first_name: string;
        last_name: string;
        phone: string;
        email: string;
    }>;
    initial_shipping_address?: AddressWithCountryCode;
    credit_bureau_id?: string;
    metadata: {
        IPv4?: string;
        continent_code?: string;
        continent_name?: string;
        country_code?: string;
        country_name?: string;
        city?: string;
    };
};
export declare type SUPPORTED_CURRENCIES = 'EUR' | 'USD' | 'GBP';
export declare type AuthOrderPayload = {
    merchant_order_id: string;
    order_amount: number;
    order_currency: SUPPORTED_CURRENCIES;
    shipping_address: AddressWithCountryCode;
    metadata?: Record<string, string>;
};
export declare 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<string, string>;
    trace_id: string;
};
export declare type RequestError = {
    error_code: string;
    errors: Record<string, Array<string>>;
    trace_id: string;
};
export declare 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 declare type SprinqueErrorResponse = {
    error_code: string;
    errors: Record<string, Array<string>>;
    trace_id: string;
};
declare type SupportedLanguage = 'en' | 'nl' | 'de' | 'es' | 'fr';
export declare type ISprinque = {
    env?: 'testing' | 'sandbox' | 'production';
    onBuyerResponse?: (buyer: Buyer) => void;
    onOrderCreated?: (order: AuthOrderResponse) => void;
    order?: AuthOrderPayload;
    buyerId?: string;
    lang?: SupportedLanguage;
    token?: string;
    getTokenUrl?: string;
};
export declare type AdditionalMeta = {
    ipAddress: string;
    continentCode: string;
    continentName: string;
    countryCode: string;
    countryName: string;
    city: string;
};
export declare type SellerPrices = {
    buyer_pricing_fee_percent: {
        net7: string;
        net15: string;
        net30: string;
        net45: string;
        net60: string;
        net90: string;
        pay_in_advance: string;
    };
    seller_pricing_fee_percent: {
        net7: string;
        net15: string;
        net30: string;
        net45: string;
        net60: string;
        net90: string;
        pay_in_advance: string;
    };
};
export declare type SellerInfo = {
    seller_id: string;
    name: string;
    trade_name: string;
    address: Address & Omit<Address, 'zip_code' | 'country'> & {
        zipcode: string;
        country: {
            name: string;
            code: string;
        };
    };
    vat_id: string;
    email: string;
    logo: string;
    language: SupportedLanguage;
    trace_id: string;
};
export {};
