/**
 * 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 { AccountIdentifier } from './account-identifier';
import { AccountType2 } from './account-type2';
import { PolicyOperator } from './policy-operator';
import { PolicyTag } from './policy-tag';
/**
 * Destination configuration for policy rules
 * @export
 * @interface DestinationConfig
 */
export interface DestinationConfig {
    /**
     *
     * @type {PolicyOperator}
     * @memberof DestinationConfig
     */
    'operator': PolicyOperator;
    /**
     * Type of destination addresses allowed
     * @type {string}
     * @memberof DestinationConfig
     */
    'addressType': DestinationConfigAddressTypeEnum;
    /**
     * Destination account types
     * @type {Array<AccountType2>}
     * @memberof DestinationConfig
     */
    'type'?: Array<AccountType2>;
    /**
     *
     * @type {Array<AccountIdentifier>}
     * @memberof DestinationConfig
     */
    'subType'?: Array<AccountIdentifier>;
    /**
     *
     * @type {Array<AccountIdentifier>}
     * @memberof DestinationConfig
     */
    'ids'?: Array<AccountIdentifier>;
    /**
     * Tags for destination matching
     * @type {Array<PolicyTag>}
     * @memberof DestinationConfig
     */
    'tags'?: Array<PolicyTag>;
    /**
     * Whether to match from account or source (relevant only for ORDER policy type). If set to ACCOUNT, only matchFrom is allowed and other fields are not required.
     * @type {string}
     * @memberof DestinationConfig
     */
    'matchFrom'?: DestinationConfigMatchFromEnum;
}
export declare const DestinationConfigAddressTypeEnum: {
    readonly Star: "*";
    readonly Whitelisted: "WHITELISTED";
    readonly OneTime: "ONE_TIME";
};
export type DestinationConfigAddressTypeEnum = typeof DestinationConfigAddressTypeEnum[keyof typeof DestinationConfigAddressTypeEnum];
export declare const DestinationConfigMatchFromEnum: {
    readonly Account: "ACCOUNT";
    readonly Source: "SOURCE";
};
export type DestinationConfigMatchFromEnum = typeof DestinationConfigMatchFromEnum[keyof typeof DestinationConfigMatchFromEnum];
