# Types reference

TypeScript type definitions exported by the `@revolut/checkout` package.

## Common types

Shared type definitions used across multiple SDK methods:

- [**Locale**](/docs/sdks/merchant-web-sdk/types/locale) - Language codes for widget localisation (22 supported languages)
- [**Address**](/docs/sdks/merchant-web-sdk/types/address) - Customer billing and shipping address structure with country codes
  - [**CountryCode**](/docs/sdks/merchant-web-sdk/types/address#countrycode) - ISO 3166-1 alpha-2 country codes (documented within [Address](/docs/sdks/merchant-web-sdk/types/address#countrycode))

- [**CustomerDetails**](/docs/sdks/merchant-web-sdk/types/customer-details) - Complete customer information including name, email, phone, and addresses

## Error types

- [**RevolutCheckoutError**](/docs/sdks/merchant-web-sdk/types/revolut-checkout-error) - Payment processing errors with error codes and types
- [**ValidationError**](/docs/sdks/merchant-web-sdk/types/validation-error) - Client-side form field validation errors (card field only)

## Importing types

All types are exported from the `@revolut/checkout` package and can be imported using TypeScript's `import type` syntax:

```typescript
import type {
  // Common types
  Locale,
  Address,
  CountryCode,
  CustomerDetails,

  // Error types
  RevolutCheckoutError,
  ValidationError,
} from '@revolut/checkout'
```

## See also

- [Get started](/docs/sdks/merchant-web-sdk/get-started)
- [Token-based](/docs/sdks/merchant-web-sdk/initialisation/token-based)
- [Payments module](/docs/sdks/merchant-web-sdk/initialisation/payments-module)
- [Upsell module](/docs/sdks/merchant-web-sdk/initialisation/upsell-module)
- [Payment methods](/docs/sdks/merchant-web-sdk/payment-methods/introduction)