/*
 * ---------------------------------------------------------
 * Copyright(C) Microsoft Corporation. All rights reserved.
 * ---------------------------------------------------------
 */
define(["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var AlertListExpandOption;
    (function (AlertListExpandOption) {
        /**
         * No Expands.
         */
        AlertListExpandOption[AlertListExpandOption["None"] = 0] = "None";
        /**
         * Return a minimal representation of an alert.
         */
        AlertListExpandOption[AlertListExpandOption["Minimal"] = 1] = "Minimal";
    })(AlertListExpandOption = exports.AlertListExpandOption || (exports.AlertListExpandOption = {}));
    var AlertType;
    (function (AlertType) {
        /**
         * The code has an unspecified vulnerability type
         */
        AlertType[AlertType["Unknown"] = 0] = "Unknown";
        /**
         * The code uses a dependency with a known vulnerability.
         */
        AlertType[AlertType["Dependency"] = 1] = "Dependency";
        /**
         * The code contains a secret that has now been compromised and must be revoked.
         */
        AlertType[AlertType["Secret"] = 2] = "Secret";
        /**
         * The code contains a weakness determined by static analysis.
         */
        AlertType[AlertType["Code"] = 3] = "Code";
        /**
         * The code uses a dependency with potential license incompliance.
         */
        AlertType[AlertType["License"] = 4] = "License";
    })(AlertType = exports.AlertType || (exports.AlertType = {}));
    var AlertValidationRequestStatus;
    (function (AlertValidationRequestStatus) {
        /**
         * Default, when the request status is not set/applicable.
         */
        AlertValidationRequestStatus[AlertValidationRequestStatus["None"] = 0] = "None";
        /**
         * First validation request for the alert's validation fingerprints, created when the sarif is submitted for processing.
         */
        AlertValidationRequestStatus[AlertValidationRequestStatus["Created"] = 1] = "Created";
        /**
         * The secret validation jobs for the alert's validation fingerprints have been manually queued and at least one is still in progress.
         */
        AlertValidationRequestStatus[AlertValidationRequestStatus["InProgress"] = 2] = "InProgress";
        /**
         * All the secret validation jobs for the alert's validation fingerprints have returned Completed or Failed.
         */
        AlertValidationRequestStatus[AlertValidationRequestStatus["Completed"] = 3] = "Completed";
        /**
         * This status is set only when there is an exception in the ValidationService.
         */
        AlertValidationRequestStatus[AlertValidationRequestStatus["Failed"] = 4] = "Failed";
    })(AlertValidationRequestStatus = exports.AlertValidationRequestStatus || (exports.AlertValidationRequestStatus = {}));
    var AlertValidityStatus;
    (function (AlertValidityStatus) {
        /**
         * When there are no validation fingerprints attached to the alert.
         */
        AlertValidityStatus[AlertValidityStatus["None"] = 0] = "None";
        /**
         * When the validations for validation fingerprints associated to the alert have not been conclusive.
         */
        AlertValidityStatus[AlertValidityStatus["Unknown"] = 1] = "Unknown";
        /**
         * When at least one validation fingerprint associated to the alert is exploitable.
         */
        AlertValidityStatus[AlertValidityStatus["Active"] = 2] = "Active";
        /**
         * When all validation fingerprints associated to the alert are not exploitable.
         */
        AlertValidityStatus[AlertValidityStatus["Inactive"] = 3] = "Inactive";
    })(AlertValidityStatus = exports.AlertValidityStatus || (exports.AlertValidityStatus = {}));
    var AnalysisConfigurationType;
    (function (AnalysisConfigurationType) {
        /**
         * Default analysis configuration that is not attached to any other configuration data
         */
        AnalysisConfigurationType[AnalysisConfigurationType["Default"] = 0] = "Default";
        /**
         * Ado Pipeline, contains branch, pipeline, phase, and ADOPipelineId
         */
        AnalysisConfigurationType[AnalysisConfigurationType["AdoPipeline"] = 1] = "AdoPipeline";
    })(AnalysisConfigurationType = exports.AnalysisConfigurationType || (exports.AnalysisConfigurationType = {}));
    /**
     * This enum defines the dependency components.
     */
    var ComponentType;
    (function (ComponentType) {
        ComponentType[ComponentType["Unknown"] = 0] = "Unknown";
        ComponentType[ComponentType["NuGet"] = 1] = "NuGet";
        /**
         * Indicates the component is an Npm package.
         */
        ComponentType[ComponentType["Npm"] = 2] = "Npm";
        /**
         * Indicates the component is a Maven artifact.
         */
        ComponentType[ComponentType["Maven"] = 3] = "Maven";
        /**
         * Indicates the component is a Git repository.
         */
        ComponentType[ComponentType["Git"] = 4] = "Git";
        /**
         * Indicates the component is not any of the supported component types by Governance.
         */
        ComponentType[ComponentType["Other"] = 5] = "Other";
        /**
         * Indicates the component is a Ruby gem.
         */
        ComponentType[ComponentType["RubyGems"] = 6] = "RubyGems";
        /**
         * Indicates the component is a Cargo package.
         */
        ComponentType[ComponentType["Cargo"] = 7] = "Cargo";
        /**
         * Indicates the component is a Pip package.
         */
        ComponentType[ComponentType["Pip"] = 8] = "Pip";
        /**
         * Indicates the component is a loose file. Not a package as understood by different package managers.
         */
        ComponentType[ComponentType["File"] = 9] = "File";
        /**
         * Indicates the component is a Go package.
         */
        ComponentType[ComponentType["Go"] = 10] = "Go";
        /**
         * Indicates the component is a Docker Image
         */
        ComponentType[ComponentType["DockerImage"] = 11] = "DockerImage";
        /**
         * Indicates the component is a CocoaPods pod.
         */
        ComponentType[ComponentType["Pod"] = 12] = "Pod";
        /**
         * Indicates the component is found in a linux environment. A package understood by linux based package managers like apt and rpm.
         */
        ComponentType[ComponentType["Linux"] = 13] = "Linux";
        /**
         * Indicates the component is a Conda package.
         */
        ComponentType[ComponentType["Conda"] = 14] = "Conda";
        /**
         * Indicates the component is a Docker Reference.
         */
        ComponentType[ComponentType["DockerReference"] = 15] = "DockerReference";
        /**
         * Indicates the component is a Vcpkg Package.
         */
        ComponentType[ComponentType["Vcpkg"] = 16] = "Vcpkg";
    })(ComponentType = exports.ComponentType || (exports.ComponentType = {}));
    var Confidence;
    (function (Confidence) {
        /**
         * High confidence level for alert
         */
        Confidence[Confidence["High"] = 0] = "High";
        /**
         * Other confidence level for alert
         */
        Confidence[Confidence["Other"] = 1] = "Other";
    })(Confidence = exports.Confidence || (exports.Confidence = {}));
    var DependencyKind;
    (function (DependencyKind) {
        DependencyKind[DependencyKind["Unknown"] = 0] = "Unknown";
        /**
         * The root dependency introduced the component being alerted.
         */
        DependencyKind[DependencyKind["RootDependency"] = 1] = "RootDependency";
        /**
         * The component being alerted.
         */
        DependencyKind[DependencyKind["Component"] = 2] = "Component";
        /**
         * Vulnerable Dependency. Deprecating this value. Use Component instead.
         */
        DependencyKind[DependencyKind["VulnerableDependency"] = 3] = "VulnerableDependency";
    })(DependencyKind = exports.DependencyKind || (exports.DependencyKind = {}));
    var DismissalType;
    (function (DismissalType) {
        /**
         * Dismissal type unknown
         */
        DismissalType[DismissalType["Unknown"] = 0] = "Unknown";
        /**
         * Dismissal indicating alert has been fixed
         */
        DismissalType[DismissalType["Fixed"] = 1] = "Fixed";
        /**
         * Dismissal indicating user is accepting a risk for the alert
         */
        DismissalType[DismissalType["AcceptedRisk"] = 2] = "AcceptedRisk";
        /**
         * Dismissal indicating alert is a false positive and will likely not be fixed.
         */
        DismissalType[DismissalType["FalsePositive"] = 3] = "FalsePositive";
        /**
         * Dismissal indicating user is agreeing to follow license guidance.
         */
        DismissalType[DismissalType["AgreedToGuidance"] = 4] = "AgreedToGuidance";
        /**
         * Dismissal indicating backend detection tool was upgraded and the alert is not detected by the new version of tool.
         */
        DismissalType[DismissalType["ToolUpgrade"] = 5] = "ToolUpgrade";
        /**
         * Dismissal indicating the affected dependencency is not distributed to end users.
         */
        DismissalType[DismissalType["NotDistributed"] = 6] = "NotDistributed";
    })(DismissalType = exports.DismissalType || (exports.DismissalType = {}));
    var ExpandOption;
    (function (ExpandOption) {
        /**
         * No Expands.
         */
        ExpandOption[ExpandOption["None"] = 0] = "None";
        /**
         * Return validationFingerprints in Alert.
         */
        ExpandOption[ExpandOption["ValidationFingerprint"] = 1] = "ValidationFingerprint";
    })(ExpandOption = exports.ExpandOption || (exports.ExpandOption = {}));
    var LicenseState;
    (function (LicenseState) {
        /**
         * Information of the license has not been harvested by ClearlyDefined
         */
        LicenseState[LicenseState["Unknown"] = 0] = "Unknown";
        /**
         * Information of the license has not been harvested by ClearlyDefined
         */
        LicenseState[LicenseState["NotHarvested"] = 1] = "NotHarvested";
        /**
         * Information of the license has been harvested by ClearlyDefined
         */
        LicenseState[LicenseState["Harvested"] = 2] = "Harvested";
    })(LicenseState = exports.LicenseState || (exports.LicenseState = {}));
    /**
     * Enumerates types of licenses.
     */
    var LicenseType;
    (function (LicenseType) {
        /**
         * The license type is unknown or not specified.
         */
        LicenseType[LicenseType["Unknown"] = 0] = "Unknown";
        /**
         * A permissive license allows software to be freely used, modified, and distributed with minimal restrictions. Examples: MIT, Apache 2.0.
         */
        LicenseType[LicenseType["Permissive"] = 1] = "Permissive";
        /**
         * A weak copyleft license requires modifications to the software to be shared under the same license, but does not impose restrictions on larger works that include the software. Examples: LGPL.
         */
        LicenseType[LicenseType["WeakCopyleft"] = 2] = "WeakCopyleft";
        /**
         * A strong copyleft license requires that any derivative works or larger works that include the software must also be distributed under the same license. Examples: GPL.
         */
        LicenseType[LicenseType["StrongCopyleft"] = 3] = "StrongCopyleft";
        /**
         * A network copyleft license extends the copyleft requirement to software that is accessed over a network, requiring the source code to be made available. Examples: AGPL.
         */
        LicenseType[LicenseType["NetworkCopyleft"] = 4] = "NetworkCopyleft";
        /**
         * A license that does not fit into the standard categories or is custom-defined. In CG, it indicates a commercial license.
         */
        LicenseType[LicenseType["Other"] = 5] = "Other";
        /**
         * No assertion is made about the license type, leaving it unspecified.
         */
        LicenseType[LicenseType["NoAssertion"] = 6] = "NoAssertion";
    })(LicenseType = exports.LicenseType || (exports.LicenseType = {}));
    /**
     * The type of change that occurred to the metadata.
     */
    var MetadataChangeType;
    (function (MetadataChangeType) {
        MetadataChangeType[MetadataChangeType["None"] = 0] = "None";
        MetadataChangeType[MetadataChangeType["Created"] = 1] = "Created";
        MetadataChangeType[MetadataChangeType["Updated"] = 2] = "Updated";
        MetadataChangeType[MetadataChangeType["Deleted"] = 3] = "Deleted";
    })(MetadataChangeType = exports.MetadataChangeType || (exports.MetadataChangeType = {}));
    /**
     * The operation to be performed on the metadata.
     */
    var MetadataOperation;
    (function (MetadataOperation) {
        /**
         * Represents the defualt value if the operation is not specified or not supported.
         */
        MetadataOperation[MetadataOperation["None"] = 0] = "None";
        /**
         * Represents the addition of the metadata.
         */
        MetadataOperation[MetadataOperation["Add"] = 1] = "Add";
        /**
         * Represents the removal of the metadata.
         */
        MetadataOperation[MetadataOperation["Remove"] = 2] = "Remove";
    })(MetadataOperation = exports.MetadataOperation || (exports.MetadataOperation = {}));
    /**
     * This enum defines the different result types.
     */
    var ResultType;
    (function (ResultType) {
        /**
         * The result was found from an unspecified analysis type
         */
        ResultType[ResultType["Unknown"] = 0] = "Unknown";
        /**
         * The result was found from dependency analysis
         */
        ResultType[ResultType["Dependency"] = 1] = "Dependency";
        /**
         * The result was found from static code analysis
         */
        ResultType[ResultType["VersionControl"] = 2] = "VersionControl";
    })(ResultType = exports.ResultType || (exports.ResultType = {}));
    var SarifJobStatus;
    (function (SarifJobStatus) {
        /**
         * The job type when it is new
         */
        SarifJobStatus[SarifJobStatus["New"] = 0] = "New";
        /**
         * The job type when it is queued
         */
        SarifJobStatus[SarifJobStatus["Queued"] = 1] = "Queued";
        /**
         * The job type when it is completed
         */
        SarifJobStatus[SarifJobStatus["Completed"] = 2] = "Completed";
        /**
         * The job type when it fails
         */
        SarifJobStatus[SarifJobStatus["Failed"] = 3] = "Failed";
        /**
         * The job type when it is queued on exception
         */
        SarifJobStatus[SarifJobStatus["Requeued"] = 4] = "Requeued";
    })(SarifJobStatus = exports.SarifJobStatus || (exports.SarifJobStatus = {}));
    var Severity;
    (function (Severity) {
        Severity[Severity["Low"] = 0] = "Low";
        Severity[Severity["Medium"] = 1] = "Medium";
        Severity[Severity["High"] = 2] = "High";
        Severity[Severity["Critical"] = 3] = "Critical";
        Severity[Severity["Note"] = 4] = "Note";
        Severity[Severity["Warning"] = 5] = "Warning";
        Severity[Severity["Error"] = 6] = "Error";
        Severity[Severity["Undefined"] = 7] = "Undefined";
    })(Severity = exports.Severity || (exports.Severity = {}));
    var State;
    (function (State) {
        /**
         * Alert is in an indeterminate state
         */
        State[State["Unknown"] = 0] = "Unknown";
        /**
         * Alert has been detected in the code
         */
        State[State["Active"] = 1] = "Active";
        /**
         * Alert was dismissed by a user
         */
        State[State["Dismissed"] = 2] = "Dismissed";
        /**
         * The issue is no longer detected in the code
         */
        State[State["Fixed"] = 4] = "Fixed";
        /**
         * The tool has determined that the issue is no longer a risk
         */
        State[State["AutoDismissed"] = 8] = "AutoDismissed";
    })(State = exports.State || (exports.State = {}));
    var ValidationResult;
    (function (ValidationResult) {
        /**
         * Default value, no information about the secret can be inferred from this.
         */
        ValidationResult[ValidationResult["None"] = 0] = "None";
        /**
         * Represents a secret that can be used to connect to a resource.
         */
        ValidationResult[ValidationResult["Exploitable"] = 1] = "Exploitable";
        /**
         * Represents a secret that can't be used to connect to a resource.
         */
        ValidationResult[ValidationResult["NotExploitable"] = 2] = "NotExploitable";
        /**
         * Represents a secret where no determination can be made about its exploitability.
         */
        ValidationResult[ValidationResult["Inconclusive"] = 3] = "Inconclusive";
        /**
         * Represents a secret where we are unable to validate, e.g. dynamic validator missing.
         */
        ValidationResult[ValidationResult["ValidationNotSupported"] = 4] = "ValidationNotSupported";
        /**
         * Represents a secret where the validation process failed due to a transient error, e.g. network issue. This result indicates that the validation process should be retried.
         */
        ValidationResult[ValidationResult["TransientError"] = 5] = "TransientError";
    })(ValidationResult = exports.ValidationResult || (exports.ValidationResult = {}));
});
