/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { TRLinkDiscoverableStatus } from './trlink-discoverable-status';
import { TRLinkGeographicAddressRequest } from './trlink-geographic-address-request';
/**
 *
 * @export
 * @interface TRLinkCreateCustomerRequest
 */
export interface TRLinkCreateCustomerRequest {
    /**
     * Short display name (required)
     * @type {string}
     * @memberof TRLinkCreateCustomerRequest
     */
    'shortName': string;
    /**
     *
     * @type {TRLinkDiscoverableStatus}
     * @memberof TRLinkCreateCustomerRequest
     */
    'discoverable'?: TRLinkDiscoverableStatus | null;
    /**
     * Full legal entity name
     * @type {string}
     * @memberof TRLinkCreateCustomerRequest
     */
    'fullLegalName'?: string | null;
    /**
     *
     * @type {TRLinkGeographicAddressRequest}
     * @memberof TRLinkCreateCustomerRequest
     */
    'geographicAddress'?: TRLinkGeographicAddressRequest | null;
    /**
     * ISO 3166-1 alpha-2 country code where the entity is registered
     * @type {string}
     * @memberof TRLinkCreateCustomerRequest
     */
    'countryOfRegistration'?: string | null;
    /**
     * National identification, sent as a JSON-encoded string. The server normalizes input into a compact JSON with these optional keys: `nationalIdentifier`, `nationalIdentifierType` (e.g. `LEIX` for an LEI), `countryOfIssue` (ISO 3166-1 alpha-2), `registrationAuthority`. If the input is not a JSON object, it is wrapped as `{\"nationalIdentifier\":\"<value>\"}`; if the value matches the LEI format, `nationalIdentifierType` is set to `LEIX` automatically and `countryOfIssue` defaults to this request\'s `countryOfRegistration` if not provided. The compacted JSON must be 240 characters or fewer. On read, the value is returned exactly as stored.
     * @type {string}
     * @memberof TRLinkCreateCustomerRequest
     */
    'nationalIdentification'?: string | null;
    /**
     * Date of entity incorporation (ISO 8601 format: YYYY-MM-DD)
     * @type {string}
     * @memberof TRLinkCreateCustomerRequest
     */
    'dateOfIncorporation'?: string | null;
    /**
     * Associated Fireblocks vault account IDs
     * @type {Array<number>}
     * @memberof TRLinkCreateCustomerRequest
     */
    'vaults'?: Array<number> | null;
    /**
     * Primary Travel Rule role for this customer; determines how the customer\'s Travel Rule messages are routed. Valid values: `notabene`, `trlink`.
     * @type {string}
     * @memberof TRLinkCreateCustomerRequest
     */
    'trPrimaryPurpose'?: string;
}
