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