/**
 * 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 { TravelRuleOwnershipProof } from './travel-rule-ownership-proof';
import { TravelRulePiiIVMS } from './travel-rule-pii-ivms';
import { TravelRuleTransactionBlockchainInfo } from './travel-rule-transaction-blockchain-info';
import { TravelRuleValidatePiiIVMS } from './travel-rule-validate-pii-ivms';
/**
 *
 * @export
 * @interface TravelRuleValidateFullTransactionRequest
 */
export interface TravelRuleValidateFullTransactionRequest {
    /**
     *
     * @type {TravelRuleValidatePiiIVMS}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'originator': TravelRuleValidatePiiIVMS;
    /**
     *
     * @type {TravelRuleValidatePiiIVMS}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'beneficiary': TravelRuleValidatePiiIVMS;
    /**
     * The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange\'s account is  created in the Notabene network.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'originatorVASPdid'?: string;
    /**
     * The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange\'s account is  created in the Notabene network.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'beneficiaryVASPdid'?: string;
    /**
     * Transaction asset symbol (e.g., BTC, ETH, USDC).  By using the `notation` query string, users can select the type of asset notation: - `fireblocks`: Converts asset symbols to Fireblocks notation. - `notabene`: Retains the original Notabene asset symbol format.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'transactionAsset'?: string;
    /**
     * Transaction amount in the transaction asset. For example, if the asset is BTC, the amount  is the value in BTC units.  By using the `notation` query string, users can select the type of amount notation: - `fireblocks`: Converts the amount to Fireblocks notation (e.g., adjusted for decimals). - `notabene`: Retains the original Notabene amount format.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'transactionAmount'?: string;
    /**
     * The name of the VASP acting as the transaction originator.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'originatorVASPname'?: string;
    /**
     * The name of the VASP acting as the transaction beneficiary.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'beneficiaryVASPname'?: string;
    /**
     *
     * @type {TravelRuleTransactionBlockchainInfo}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'transactionBlockchainInfo'?: TravelRuleTransactionBlockchainInfo;
    /**
     * Encrypted data related to the transaction.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'encrypted'?: string;
    /**
     * The protocol used to perform the travel rule.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'protocol'?: TravelRuleValidateFullTransactionRequestProtocolEnum;
    /**
     * Whether to skip validation of beneficiary data.
     * @type {boolean}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'skipBeneficiaryDataValidation'?: boolean;
    /**
     * Whether to check if the transaction complies with the travel rule in the beneficiary VASP\'s jurisdiction.
     * @type {boolean}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'travelRuleBehavior'?: boolean;
    /**
     * A reference ID related to the originator of the transaction.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'originatorRef'?: string;
    /**
     * A reference ID related to the beneficiary of the transaction.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'beneficiaryRef'?: string;
    /**
     * A reference ID related to the travel rule behavior.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'travelRuleBehaviorRef'?: string;
    /**
     *
     * @type {TravelRuleOwnershipProof}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'originatorProof'?: TravelRuleOwnershipProof;
    /**
     *
     * @type {TravelRuleOwnershipProof}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'beneficiaryProof'?: TravelRuleOwnershipProof;
    /**
     * The Decentralized Identifier (DID) of the person at the receiving exchange (VASP).  This identifier is generated when the customer is registered in the Notabene network,  or automatically created based on the `beneficiaryRef`.  - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload,    a new random DID is generated for every transaction.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'beneficiaryDid'?: string;
    /**
     * The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the `originatorRef`.  - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload,    a new random DID is generated for every transaction.
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'originatorDid'?: string;
    /**
     * Indicates if the transaction involves a non-custodial wallet.
     * @type {boolean}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'isNonCustodial'?: boolean;
    /**
     * The email address where a notification should be sent upon completion of the travel rule
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'notificationEmail'?: string;
    /**
     *
     * @type {TravelRulePiiIVMS}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'pii'?: TravelRulePiiIVMS;
    /**
     * The URL of the personal identifiable information related to the transaction
     * @type {string}
     * @memberof TravelRuleValidateFullTransactionRequest
     */
    'pii_url'?: string;
}
export declare const TravelRuleValidateFullTransactionRequestProtocolEnum: {
    readonly TrLight: "TRLight";
    readonly Trp: "TRP";
    readonly OpenVasp: "OpenVASP";
    readonly Gtr: "GTR";
};
export type TravelRuleValidateFullTransactionRequestProtocolEnum = typeof TravelRuleValidateFullTransactionRequestProtocolEnum[keyof typeof TravelRuleValidateFullTransactionRequestProtocolEnum];
