/**
 * 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 { TRLinkPostScreeningAction } from './trlink-post-screening-action';
import { TRLinkTransactionDirection } from './trlink-transaction-direction';
import { TRLinkTrmStatus } from './trlink-trm-status';
/**
 * Post-screening rule that determines the verdict based on screening results
 * @export
 * @interface TRLinkPostScreeningRule2
 */
export interface TRLinkPostScreeningRule2 {
    /**
     *
     * @type {TRLinkPostScreeningAction}
     * @memberof TRLinkPostScreeningRule2
     */
    'action': TRLinkPostScreeningAction;
    /**
     * Customer identifier
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'customerId'?: string | null;
    /**
     *
     * @type {TRLinkTransactionDirection}
     * @memberof TRLinkPostScreeningRule2
     */
    'direction'?: TRLinkTransactionDirection;
    /**
     * Source entity type
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'sourceType'?: string | null;
    /**
     * Source entity subtype
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'sourceSubType'?: string | null;
    /**
     * Source blockchain address
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'sourceAddress'?: string | null;
    /**
     * Destination entity type
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'destType'?: string | null;
    /**
     * Destination entity subtype
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'destSubType'?: string | null;
    /**
     * Destination blockchain address
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'destAddress'?: string | null;
    /**
     * Source identifier
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'sourceId'?: string | null;
    /**
     * Destination identifier
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'destId'?: string | null;
    /**
     * Asset or cryptocurrency type
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'asset'?: string | null;
    /**
     * Base asset for derivatives
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'baseAsset'?: string | null;
    /**
     *
     * @type {ScreeningPolicyAmount}
     * @memberof TRLinkPostScreeningRule2
     */
    'amount'?: ScreeningPolicyAmount;
    /**
     * Network protocol identifier
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'networkProtocol'?: string | null;
    /**
     * Operation type
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'operation'?: string | null;
    /**
     * Rule description
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'description'?: string | null;
    /**
     * Whether this is a default rule
     * @type {boolean}
     * @memberof TRLinkPostScreeningRule2
     */
    'isDefault'?: boolean | null;
    /**
     * TRP provider identifier
     * @type {string}
     * @memberof TRLinkPostScreeningRule2
     */
    'providerIdent'?: string | null;
    /**
     *
     * @type {TRLinkTrmStatus}
     * @memberof TRLinkPostScreeningRule2
     */
    'trmStatus'?: TRLinkTrmStatus | null;
    /**
     * Rule is valid before this timestamp (milliseconds)
     * @type {number}
     * @memberof TRLinkPostScreeningRule2
     */
    'validBefore'?: number | null;
    /**
     * Rule is valid after this timestamp (milliseconds)
     * @type {number}
     * @memberof TRLinkPostScreeningRule2
     */
    'validAfter'?: number | null;
}
