/**
 * 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 { AmlResult } from './aml-result';
import { AmlStatusEnum } from './aml-status-enum';
import { ScreeningProviderResponse } from './screening-provider-response';
import { ScreeningVerdictEnum } from './screening-verdict-enum';
import { TravelRulePrescreeningRule } from './travel-rule-prescreening-rule';
import { TravelRuleResult } from './travel-rule-result';
/**
 * The result of the AML/Travel Rule screening. This unified schema contains all fields that may be returned for both AML and Travel Rule screening results. Not all fields will be present in every response - the actual fields depend on the screening type and provider.
 * @export
 * @interface ComplianceScreeningResult
 */
export interface ComplianceScreeningResult {
    /**
     * The AML/Travel Rule provider name. For AML: ELLIPTIC, CHAINALYSIS, etc. For Travel Rule: NOTABENE, SUMSUB, GTR, or any TRLink provider name.
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'provider'?: string;
    /**
     * The raw payload of the screening result from the provider. The payload is a JSON object that contains the screening result. The payload structure is different for each screening provider. This field contains the complete, unmodified response from the screening service.
     * @type {object}
     * @memberof ComplianceScreeningResult
     */
    'payload'?: object;
    /**
     * Unix timestamp in milliseconds when the screening result was generated
     * @type {number}
     * @memberof ComplianceScreeningResult
     */
    'timestamp'?: number;
    /**
     * Current status of the screening process
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'screeningStatus'?: ComplianceScreeningResultScreeningStatusEnum;
    /**
     * Reason for bypassing the screening, if applicable. For AML: UNSUPPORTED_ASSET, PASSED_BY_POLICY. For Travel Rule: UNSUPPORTED_ASSET, NO_TRAVEL_RULE_MESSAGE, TRANSACTION_ZERO_AMOUNT.
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'bypassReason'?: string;
    /**
     *
     * @type {AmlStatusEnum}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'status'?: AmlStatusEnum;
    /**
     *
     * @type {AmlStatusEnum}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'prevStatus'?: AmlStatusEnum;
    /**
     * Deprecated: This field is not currently returned in the API response. Previous bypass reason before the current bypass reason change.
     * @type {string}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'prevBypassReason'?: string;
    /**
     *
     * @type {ScreeningVerdictEnum}
     * @memberof ComplianceScreeningResult
     */
    'verdict'?: ScreeningVerdictEnum;
    /**
     * Risk level assessment for screening results. Values vary by provider and are not managed by this service.  Known values by provider: - Chainalysis: severeRisk, highRisk, mediumRisk, lowRisk, noRiskInfo - Elliptic: noRiskDetected  Legacy values (SCREAMING_SNAKE_CASE, may appear in old transactions): VERY_HIGH, SEVERE, HIGH, MEDIUM, LOW, NO_RISK_INFO, UNKNOWN
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'risk'?: string;
    /**
     * Deprecated: This field is not currently returned in the API response. Use risk instead.
     * @type {string}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'extendedRisk'?: string;
    /**
     * External identifier for the screening (provider-specific)
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'externalId'?: string;
    /**
     * Customer-provided reference identifier for tracking
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'customerRefId'?: string;
    /**
     * Deprecated: This field is not currently returned in the API response. Internal reference identifier.
     * @type {string}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'refId'?: string;
    /**
     * Risk category classification. Examples: EXCHANGE, GAMBLING, MIXER, DARKNET_SERVICE, SANCTIONED_ENTITY
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'category'?: string;
    /**
     * Numeric identifier for the risk category
     * @type {number}
     * @memberof ComplianceScreeningResult
     */
    'categoryId'?: number;
    /**
     * The destination blockchain address associated with the screening
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'destAddress'?: string;
    /**
     * Destination tag or memo (for chains that support it like XRP, XLM)
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'destTag'?: string;
    /**
     * Deprecated: This field is not currently returned in the API response. The destination record identifier used by the screening provider.
     * @type {string}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'destRecordId'?: string;
    /**
     * Deprecated: This field is not currently returned in the API response. Cryptographic signature for address resolution verification.
     * @type {string}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'addressResolutionSignature'?: string;
    /**
     *
     * @type {AmlResult}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'amlResult'?: AmlResult;
    /**
     *
     * @type {TravelRuleResult}
     * @memberof ComplianceScreeningResult
     * @deprecated
     */
    'result'?: TravelRuleResult;
    /**
     * Additional human-readable details or message about the screening result
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'detailsMessage'?: string;
    /**
     * Information about the AML alert that was matched, if any. Contains details about the specific alert that triggered during screening.
     * @type {object}
     * @memberof ComplianceScreeningResult
     */
    'matchedAlert'?: object;
    /**
     * The matched rule information for this screening result. Contains details about which screening rule was applied and matched.
     * @type {object}
     * @memberof ComplianceScreeningResult
     */
    'matchedRule'?: object;
    /**
     *
     * @type {TravelRulePrescreeningRule}
     * @memberof ComplianceScreeningResult
     */
    'matchedPrescreeningRule'?: TravelRulePrescreeningRule;
    /**
     * Matched no-TRM (Travel Rule Message) screening rule details. Used when TRLink screening detects a missing TRM scenario.
     * @type {object}
     * @memberof ComplianceScreeningResult
     */
    'matchedNoTrmScreeningRule'?: object;
    /**
     * Customer integration identifier used by Travel Rule providers
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'customerIntegrationId'?: string;
    /**
     * Customer short name registered with Travel Rule providers
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'customerShortName'?: string;
    /**
     * Travel rule message identifier for linking and tracking across providers
     * @type {string}
     * @memberof ComplianceScreeningResult
     */
    'travelRuleMessageId'?: string;
    /**
     *
     * @type {ScreeningProviderResponse}
     * @memberof ComplianceScreeningResult
     */
    'providerResponse'?: ScreeningProviderResponse;
}
export declare const ComplianceScreeningResultScreeningStatusEnum: {
    readonly Completed: "COMPLETED";
    readonly Pending: "PENDING";
    readonly Bypassed: "BYPASSED";
    readonly Failed: "FAILED";
    readonly Frozen: "FROZEN";
};
export type ComplianceScreeningResultScreeningStatusEnum = typeof ComplianceScreeningResultScreeningStatusEnum[keyof typeof ComplianceScreeningResultScreeningStatusEnum];
