/**
 * 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 { ScreeningTRLinkAmount } from './screening-trlink-amount';
import { TransactionOperationEnum } from './transaction-operation-enum';
import { TransferPeerSubTypeEnum } from './transfer-peer-sub-type-enum';
import { TransferPeerTypeEnum2 } from './transfer-peer-type-enum2';
import { TravelRuleDirectionEnum } from './travel-rule-direction-enum';
/**
 * Base interface for TRLink policy rules
 * @export
 * @interface ScreeningTRLinkRuleBase
 */
export interface ScreeningTRLinkRuleBase {
    /**
     * Reference to TRLinkCustomer.id
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'customerId'?: string;
    /**
     *
     * @type {TravelRuleDirectionEnum}
     * @memberof ScreeningTRLinkRuleBase
     */
    'direction'?: TravelRuleDirectionEnum;
    /**
     *
     * @type {TransferPeerTypeEnum2}
     * @memberof ScreeningTRLinkRuleBase
     */
    'sourceType'?: TransferPeerTypeEnum2;
    /**
     *
     * @type {TransferPeerSubTypeEnum}
     * @memberof ScreeningTRLinkRuleBase
     */
    'sourceSubType'?: TransferPeerSubTypeEnum;
    /**
     * Source address
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'sourceAddress'?: string;
    /**
     *
     * @type {TransferPeerTypeEnum2}
     * @memberof ScreeningTRLinkRuleBase
     */
    'destType'?: TransferPeerTypeEnum2;
    /**
     *
     * @type {TransferPeerSubTypeEnum}
     * @memberof ScreeningTRLinkRuleBase
     */
    'destSubType'?: TransferPeerSubTypeEnum;
    /**
     * Destination address
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'destAddress'?: string;
    /**
     * Source ID
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'sourceId'?: string;
    /**
     * Destination ID
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'destId'?: string;
    /**
     * Asset symbol
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'asset'?: string;
    /**
     * Base asset symbol
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'baseAsset'?: string;
    /**
     *
     * @type {ScreeningTRLinkAmount}
     * @memberof ScreeningTRLinkRuleBase
     */
    'amount'?: ScreeningTRLinkAmount;
    /**
     * Network protocol
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'networkProtocol'?: string;
    /**
     *
     * @type {TransactionOperationEnum}
     * @memberof ScreeningTRLinkRuleBase
     */
    'operation'?: TransactionOperationEnum;
    /**
     * Rule description
     * @type {string}
     * @memberof ScreeningTRLinkRuleBase
     */
    'description'?: string;
    /**
     * Whether this is a default rule
     * @type {boolean}
     * @memberof ScreeningTRLinkRuleBase
     */
    'isDefault'?: boolean;
}
