/**
 * 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 { ScreeningPolicyAmount } from './screening-policy-amount';
import { TRLinkPreScreeningAction2 } from './trlink-pre-screening-action2';
import { TRLinkTransactionDirection } from './trlink-transaction-direction';
/**
 * Pre-screening rule that determines if a transaction should be screened
 * @export
 * @interface TRLinkPreScreeningRule2
 */
export interface TRLinkPreScreeningRule2 {
    /**
     *
     * @type {TRLinkPreScreeningAction2}
     * @memberof TRLinkPreScreeningRule2
     */
    'action': TRLinkPreScreeningAction2;
    /**
     * Customer identifier
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'customerId'?: string | null;
    /**
     *
     * @type {TRLinkTransactionDirection}
     * @memberof TRLinkPreScreeningRule2
     */
    'direction'?: TRLinkTransactionDirection;
    /**
     * Source entity type
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'sourceType'?: string | null;
    /**
     * Source entity subtype
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'sourceSubType'?: string | null;
    /**
     * Source blockchain address
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'sourceAddress'?: string | null;
    /**
     * Destination entity type
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'destType'?: string | null;
    /**
     * Destination entity subtype
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'destSubType'?: string | null;
    /**
     * Destination blockchain address
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'destAddress'?: string | null;
    /**
     * Source identifier
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'sourceId'?: string | null;
    /**
     * Destination identifier
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'destId'?: string | null;
    /**
     * Asset or cryptocurrency type
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'asset'?: string | null;
    /**
     * Base asset for derivatives
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'baseAsset'?: string | null;
    /**
     *
     * @type {ScreeningPolicyAmount}
     * @memberof TRLinkPreScreeningRule2
     */
    'amount'?: ScreeningPolicyAmount;
    /**
     * Network protocol identifier
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'networkProtocol'?: string | null;
    /**
     * Operation type
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'operation'?: string | null;
    /**
     * Rule description
     * @type {string}
     * @memberof TRLinkPreScreeningRule2
     */
    'description'?: string | null;
    /**
     * Whether this is a default rule
     * @type {boolean}
     * @memberof TRLinkPreScreeningRule2
     */
    'isDefault'?: boolean | null;
}
