import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi";
import { Configuration } from "../../datadog-api-client-common/configuration";
import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http";
import { AssetType } from "../models/AssetType";
import { BulkMuteFindingsRequest } from "../models/BulkMuteFindingsRequest";
import { BulkMuteFindingsResponse } from "../models/BulkMuteFindingsResponse";
import { ConvertJobResultsToSignalsRequest } from "../models/ConvertJobResultsToSignalsRequest";
import { CreateCustomFrameworkRequest } from "../models/CreateCustomFrameworkRequest";
import { CreateCustomFrameworkResponse } from "../models/CreateCustomFrameworkResponse";
import { CreateNotificationRuleParameters } from "../models/CreateNotificationRuleParameters";
import { DeleteCustomFrameworkResponse } from "../models/DeleteCustomFrameworkResponse";
import { Finding } from "../models/Finding";
import { FindingEvaluation } from "../models/FindingEvaluation";
import { FindingStatus } from "../models/FindingStatus";
import { FindingVulnerabilityType } from "../models/FindingVulnerabilityType";
import { GetCustomFrameworkResponse } from "../models/GetCustomFrameworkResponse";
import { GetFindingResponse } from "../models/GetFindingResponse";
import { GetResourceEvaluationFiltersResponse } from "../models/GetResourceEvaluationFiltersResponse";
import { GetRuleVersionHistoryResponse } from "../models/GetRuleVersionHistoryResponse";
import { GetSBOMResponse } from "../models/GetSBOMResponse";
import { HistoricalJobResponse } from "../models/HistoricalJobResponse";
import { JobCreateResponse } from "../models/JobCreateResponse";
import { ListFindingsResponse } from "../models/ListFindingsResponse";
import { ListHistoricalJobsResponse } from "../models/ListHistoricalJobsResponse";
import { ListVulnerabilitiesResponse } from "../models/ListVulnerabilitiesResponse";
import { ListVulnerableAssetsResponse } from "../models/ListVulnerableAssetsResponse";
import { NotificationRuleResponse } from "../models/NotificationRuleResponse";
import { PatchNotificationRuleParameters } from "../models/PatchNotificationRuleParameters";
import { RunHistoricalJobRequest } from "../models/RunHistoricalJobRequest";
import { SecurityFilterCreateRequest } from "../models/SecurityFilterCreateRequest";
import { SecurityFilterResponse } from "../models/SecurityFilterResponse";
import { SecurityFiltersResponse } from "../models/SecurityFiltersResponse";
import { SecurityFilterUpdateRequest } from "../models/SecurityFilterUpdateRequest";
import { SecurityMonitoringListRulesResponse } from "../models/SecurityMonitoringListRulesResponse";
import { SecurityMonitoringRuleConvertPayload } from "../models/SecurityMonitoringRuleConvertPayload";
import { SecurityMonitoringRuleConvertResponse } from "../models/SecurityMonitoringRuleConvertResponse";
import { SecurityMonitoringRuleCreatePayload } from "../models/SecurityMonitoringRuleCreatePayload";
import { SecurityMonitoringRuleResponse } from "../models/SecurityMonitoringRuleResponse";
import { SecurityMonitoringRuleTestRequest } from "../models/SecurityMonitoringRuleTestRequest";
import { SecurityMonitoringRuleTestResponse } from "../models/SecurityMonitoringRuleTestResponse";
import { SecurityMonitoringRuleUpdatePayload } from "../models/SecurityMonitoringRuleUpdatePayload";
import { SecurityMonitoringRuleValidatePayload } from "../models/SecurityMonitoringRuleValidatePayload";
import { SecurityMonitoringSignal } from "../models/SecurityMonitoringSignal";
import { SecurityMonitoringSignalAssigneeUpdateRequest } from "../models/SecurityMonitoringSignalAssigneeUpdateRequest";
import { SecurityMonitoringSignalIncidentsUpdateRequest } from "../models/SecurityMonitoringSignalIncidentsUpdateRequest";
import { SecurityMonitoringSignalListRequest } from "../models/SecurityMonitoringSignalListRequest";
import { SecurityMonitoringSignalResponse } from "../models/SecurityMonitoringSignalResponse";
import { SecurityMonitoringSignalsListResponse } from "../models/SecurityMonitoringSignalsListResponse";
import { SecurityMonitoringSignalsSort } from "../models/SecurityMonitoringSignalsSort";
import { SecurityMonitoringSignalStateUpdateRequest } from "../models/SecurityMonitoringSignalStateUpdateRequest";
import { SecurityMonitoringSignalTriageUpdateResponse } from "../models/SecurityMonitoringSignalTriageUpdateResponse";
import { SecurityMonitoringSuppressionCreateRequest } from "../models/SecurityMonitoringSuppressionCreateRequest";
import { SecurityMonitoringSuppressionResponse } from "../models/SecurityMonitoringSuppressionResponse";
import { SecurityMonitoringSuppressionsResponse } from "../models/SecurityMonitoringSuppressionsResponse";
import { SecurityMonitoringSuppressionUpdateRequest } from "../models/SecurityMonitoringSuppressionUpdateRequest";
import { UpdateCustomFrameworkRequest } from "../models/UpdateCustomFrameworkRequest";
import { UpdateCustomFrameworkResponse } from "../models/UpdateCustomFrameworkResponse";
import { UpdateResourceEvaluationFiltersRequest } from "../models/UpdateResourceEvaluationFiltersRequest";
import { UpdateResourceEvaluationFiltersResponse } from "../models/UpdateResourceEvaluationFiltersResponse";
import { VulnerabilityEcosystem } from "../models/VulnerabilityEcosystem";
import { VulnerabilitySeverity } from "../models/VulnerabilitySeverity";
import { VulnerabilityStatus } from "../models/VulnerabilityStatus";
import { VulnerabilityTool } from "../models/VulnerabilityTool";
import { VulnerabilityType } from "../models/VulnerabilityType";
export declare class SecurityMonitoringApiRequestFactory extends BaseAPIRequestFactory {
    cancelHistoricalJob(jobId: string, _options?: Configuration): Promise<RequestContext>;
    convertExistingSecurityMonitoringRule(ruleId: string, _options?: Configuration): Promise<RequestContext>;
    convertJobResultToSignal(body: ConvertJobResultsToSignalsRequest, _options?: Configuration): Promise<RequestContext>;
    convertSecurityMonitoringRuleFromJSONToTerraform(body: SecurityMonitoringRuleConvertPayload, _options?: Configuration): Promise<RequestContext>;
    createCustomFramework(body: CreateCustomFrameworkRequest, _options?: Configuration): Promise<RequestContext>;
    createSecurityFilter(body: SecurityFilterCreateRequest, _options?: Configuration): Promise<RequestContext>;
    createSecurityMonitoringRule(body: SecurityMonitoringRuleCreatePayload, _options?: Configuration): Promise<RequestContext>;
    createSecurityMonitoringSuppression(body: SecurityMonitoringSuppressionCreateRequest, _options?: Configuration): Promise<RequestContext>;
    createSignalNotificationRule(body: CreateNotificationRuleParameters, _options?: Configuration): Promise<RequestContext>;
    createVulnerabilityNotificationRule(body: CreateNotificationRuleParameters, _options?: Configuration): Promise<RequestContext>;
    deleteCustomFramework(handle: string, version: string, _options?: Configuration): Promise<RequestContext>;
    deleteHistoricalJob(jobId: string, _options?: Configuration): Promise<RequestContext>;
    deleteSecurityFilter(securityFilterId: string, _options?: Configuration): Promise<RequestContext>;
    deleteSecurityMonitoringRule(ruleId: string, _options?: Configuration): Promise<RequestContext>;
    deleteSecurityMonitoringSuppression(suppressionId: string, _options?: Configuration): Promise<RequestContext>;
    deleteSignalNotificationRule(id: string, _options?: Configuration): Promise<RequestContext>;
    deleteVulnerabilityNotificationRule(id: string, _options?: Configuration): Promise<RequestContext>;
    editSecurityMonitoringSignalAssignee(signalId: string, body: SecurityMonitoringSignalAssigneeUpdateRequest, _options?: Configuration): Promise<RequestContext>;
    editSecurityMonitoringSignalIncidents(signalId: string, body: SecurityMonitoringSignalIncidentsUpdateRequest, _options?: Configuration): Promise<RequestContext>;
    editSecurityMonitoringSignalState(signalId: string, body: SecurityMonitoringSignalStateUpdateRequest, _options?: Configuration): Promise<RequestContext>;
    getCustomFramework(handle: string, version: string, _options?: Configuration): Promise<RequestContext>;
    getFinding(findingId: string, snapshotTimestamp?: number, _options?: Configuration): Promise<RequestContext>;
    getHistoricalJob(jobId: string, _options?: Configuration): Promise<RequestContext>;
    getResourceEvaluationFilters(cloudProvider?: string, accountId?: string, skipCache?: boolean, _options?: Configuration): Promise<RequestContext>;
    getRuleVersionHistory(ruleId: string, pageSize?: number, pageNumber?: number, _options?: Configuration): Promise<RequestContext>;
    getSBOM(assetType: AssetType, filterAssetName: string, filterRepoDigest?: string, _options?: Configuration): Promise<RequestContext>;
    getSecurityFilter(securityFilterId: string, _options?: Configuration): Promise<RequestContext>;
    getSecurityMonitoringRule(ruleId: string, _options?: Configuration): Promise<RequestContext>;
    getSecurityMonitoringSignal(signalId: string, _options?: Configuration): Promise<RequestContext>;
    getSecurityMonitoringSuppression(suppressionId: string, _options?: Configuration): Promise<RequestContext>;
    getSignalNotificationRule(id: string, _options?: Configuration): Promise<RequestContext>;
    getSignalNotificationRules(_options?: Configuration): Promise<RequestContext>;
    getVulnerabilityNotificationRule(id: string, _options?: Configuration): Promise<RequestContext>;
    getVulnerabilityNotificationRules(_options?: Configuration): Promise<RequestContext>;
    listFindings(pageLimit?: number, snapshotTimestamp?: number, pageCursor?: string, filterTags?: string, filterEvaluationChangedAt?: string, filterMuted?: boolean, filterRuleId?: string, filterRuleName?: string, filterResourceType?: string, filterDiscoveryTimestamp?: string, filterEvaluation?: FindingEvaluation, filterStatus?: FindingStatus, filterVulnerabilityType?: Array<FindingVulnerabilityType>, detailedFindings?: boolean, _options?: Configuration): Promise<RequestContext>;
    listHistoricalJobs(pageSize?: number, pageNumber?: number, sort?: string, filterQuery?: string, _options?: Configuration): Promise<RequestContext>;
    listSecurityFilters(_options?: Configuration): Promise<RequestContext>;
    listSecurityMonitoringRules(pageSize?: number, pageNumber?: number, _options?: Configuration): Promise<RequestContext>;
    listSecurityMonitoringSignals(filterQuery?: string, filterFrom?: Date, filterTo?: Date, sort?: SecurityMonitoringSignalsSort, pageCursor?: string, pageLimit?: number, _options?: Configuration): Promise<RequestContext>;
    listSecurityMonitoringSuppressions(_options?: Configuration): Promise<RequestContext>;
    listVulnerabilities(pageToken?: string, pageNumber?: number, filterType?: VulnerabilityType, filterCvssBaseScoreOp?: number, filterCvssBaseSeverity?: VulnerabilitySeverity, filterCvssBaseVector?: string, filterCvssDatadogScoreOp?: number, filterCvssDatadogSeverity?: VulnerabilitySeverity, filterCvssDatadogVector?: string, filterStatus?: VulnerabilityStatus, filterTool?: VulnerabilityTool, filterLibraryName?: string, filterLibraryVersion?: string, filterAdvisoryId?: string, filterRisksExploitationProbability?: boolean, filterRisksPocExploitAvailable?: boolean, filterRisksExploitAvailable?: boolean, filterRisksEpssScoreOp?: number, filterRisksEpssSeverity?: VulnerabilitySeverity, filterLanguage?: string, filterEcosystem?: VulnerabilityEcosystem, filterCodeLocationLocation?: string, filterCodeLocationFilePath?: string, filterCodeLocationMethod?: string, filterFixAvailable?: boolean, filterRepoDigests?: string, filterAssetName?: string, filterAssetType?: AssetType, filterAssetVersionFirst?: string, filterAssetVersionLast?: string, filterAssetRepositoryUrl?: string, filterAssetRisksInProduction?: boolean, filterAssetRisksUnderAttack?: boolean, filterAssetRisksIsPubliclyAccessible?: boolean, filterAssetRisksHasPrivilegedAccess?: boolean, filterAssetRisksHasAccessToSensitiveData?: boolean, filterAssetEnvironments?: string, filterAssetArch?: string, filterAssetOperatingSystemName?: string, filterAssetOperatingSystemVersion?: string, _options?: Configuration): Promise<RequestContext>;
    listVulnerableAssets(pageToken?: string, pageNumber?: number, filterName?: string, filterType?: AssetType, filterVersionFirst?: string, filterVersionLast?: string, filterRepositoryUrl?: string, filterRisksInProduction?: boolean, filterRisksUnderAttack?: boolean, filterRisksIsPubliclyAccessible?: boolean, filterRisksHasPrivilegedAccess?: boolean, filterRisksHasAccessToSensitiveData?: boolean, filterEnvironments?: string, filterArch?: string, filterOperatingSystemName?: string, filterOperatingSystemVersion?: string, _options?: Configuration): Promise<RequestContext>;
    muteFindings(body: BulkMuteFindingsRequest, _options?: Configuration): Promise<RequestContext>;
    patchSignalNotificationRule(id: string, body: PatchNotificationRuleParameters, _options?: Configuration): Promise<RequestContext>;
    patchVulnerabilityNotificationRule(id: string, body: PatchNotificationRuleParameters, _options?: Configuration): Promise<RequestContext>;
    runHistoricalJob(body: RunHistoricalJobRequest, _options?: Configuration): Promise<RequestContext>;
    searchSecurityMonitoringSignals(body?: SecurityMonitoringSignalListRequest, _options?: Configuration): Promise<RequestContext>;
    testExistingSecurityMonitoringRule(ruleId: string, body: SecurityMonitoringRuleTestRequest, _options?: Configuration): Promise<RequestContext>;
    testSecurityMonitoringRule(body: SecurityMonitoringRuleTestRequest, _options?: Configuration): Promise<RequestContext>;
    updateCustomFramework(handle: string, version: string, body: UpdateCustomFrameworkRequest, _options?: Configuration): Promise<RequestContext>;
    updateResourceEvaluationFilters(body: UpdateResourceEvaluationFiltersRequest, _options?: Configuration): Promise<RequestContext>;
    updateSecurityFilter(securityFilterId: string, body: SecurityFilterUpdateRequest, _options?: Configuration): Promise<RequestContext>;
    updateSecurityMonitoringRule(ruleId: string, body: SecurityMonitoringRuleUpdatePayload, _options?: Configuration): Promise<RequestContext>;
    updateSecurityMonitoringSuppression(suppressionId: string, body: SecurityMonitoringSuppressionUpdateRequest, _options?: Configuration): Promise<RequestContext>;
    validateSecurityMonitoringRule(body: SecurityMonitoringRuleValidatePayload, _options?: Configuration): Promise<RequestContext>;
}
export declare class SecurityMonitoringApiResponseProcessor {
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to cancelHistoricalJob
     * @throws ApiException if the response code was not in [200, 299]
     */
    cancelHistoricalJob(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to convertExistingSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    convertExistingSecurityMonitoringRule(response: ResponseContext): Promise<SecurityMonitoringRuleConvertResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to convertJobResultToSignal
     * @throws ApiException if the response code was not in [200, 299]
     */
    convertJobResultToSignal(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to convertSecurityMonitoringRuleFromJSONToTerraform
     * @throws ApiException if the response code was not in [200, 299]
     */
    convertSecurityMonitoringRuleFromJSONToTerraform(response: ResponseContext): Promise<SecurityMonitoringRuleConvertResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createCustomFramework
     * @throws ApiException if the response code was not in [200, 299]
     */
    createCustomFramework(response: ResponseContext): Promise<CreateCustomFrameworkResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createSecurityFilter
     * @throws ApiException if the response code was not in [200, 299]
     */
    createSecurityFilter(response: ResponseContext): Promise<SecurityFilterResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    createSecurityMonitoringRule(response: ResponseContext): Promise<SecurityMonitoringRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createSecurityMonitoringSuppression
     * @throws ApiException if the response code was not in [200, 299]
     */
    createSecurityMonitoringSuppression(response: ResponseContext): Promise<SecurityMonitoringSuppressionResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createSignalNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    createSignalNotificationRule(response: ResponseContext): Promise<NotificationRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createVulnerabilityNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    createVulnerabilityNotificationRule(response: ResponseContext): Promise<NotificationRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCustomFramework
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCustomFramework(response: ResponseContext): Promise<DeleteCustomFrameworkResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteHistoricalJob
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteHistoricalJob(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteSecurityFilter
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteSecurityFilter(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteSecurityMonitoringRule(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteSecurityMonitoringSuppression
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteSecurityMonitoringSuppression(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteSignalNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteSignalNotificationRule(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteVulnerabilityNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteVulnerabilityNotificationRule(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to editSecurityMonitoringSignalAssignee
     * @throws ApiException if the response code was not in [200, 299]
     */
    editSecurityMonitoringSignalAssignee(response: ResponseContext): Promise<SecurityMonitoringSignalTriageUpdateResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to editSecurityMonitoringSignalIncidents
     * @throws ApiException if the response code was not in [200, 299]
     */
    editSecurityMonitoringSignalIncidents(response: ResponseContext): Promise<SecurityMonitoringSignalTriageUpdateResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to editSecurityMonitoringSignalState
     * @throws ApiException if the response code was not in [200, 299]
     */
    editSecurityMonitoringSignalState(response: ResponseContext): Promise<SecurityMonitoringSignalTriageUpdateResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCustomFramework
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCustomFramework(response: ResponseContext): Promise<GetCustomFrameworkResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getFinding
     * @throws ApiException if the response code was not in [200, 299]
     */
    getFinding(response: ResponseContext): Promise<GetFindingResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getHistoricalJob
     * @throws ApiException if the response code was not in [200, 299]
     */
    getHistoricalJob(response: ResponseContext): Promise<HistoricalJobResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getResourceEvaluationFilters
     * @throws ApiException if the response code was not in [200, 299]
     */
    getResourceEvaluationFilters(response: ResponseContext): Promise<GetResourceEvaluationFiltersResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getRuleVersionHistory
     * @throws ApiException if the response code was not in [200, 299]
     */
    getRuleVersionHistory(response: ResponseContext): Promise<GetRuleVersionHistoryResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getSBOM
     * @throws ApiException if the response code was not in [200, 299]
     */
    getSBOM(response: ResponseContext): Promise<GetSBOMResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getSecurityFilter
     * @throws ApiException if the response code was not in [200, 299]
     */
    getSecurityFilter(response: ResponseContext): Promise<SecurityFilterResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    getSecurityMonitoringRule(response: ResponseContext): Promise<SecurityMonitoringRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getSecurityMonitoringSignal
     * @throws ApiException if the response code was not in [200, 299]
     */
    getSecurityMonitoringSignal(response: ResponseContext): Promise<SecurityMonitoringSignalResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getSecurityMonitoringSuppression
     * @throws ApiException if the response code was not in [200, 299]
     */
    getSecurityMonitoringSuppression(response: ResponseContext): Promise<SecurityMonitoringSuppressionResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getSignalNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    getSignalNotificationRule(response: ResponseContext): Promise<NotificationRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getSignalNotificationRules
     * @throws ApiException if the response code was not in [200, 299]
     */
    getSignalNotificationRules(response: ResponseContext): Promise<any>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getVulnerabilityNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    getVulnerabilityNotificationRule(response: ResponseContext): Promise<NotificationRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getVulnerabilityNotificationRules
     * @throws ApiException if the response code was not in [200, 299]
     */
    getVulnerabilityNotificationRules(response: ResponseContext): Promise<any>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listFindings
     * @throws ApiException if the response code was not in [200, 299]
     */
    listFindings(response: ResponseContext): Promise<ListFindingsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listHistoricalJobs
     * @throws ApiException if the response code was not in [200, 299]
     */
    listHistoricalJobs(response: ResponseContext): Promise<ListHistoricalJobsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listSecurityFilters
     * @throws ApiException if the response code was not in [200, 299]
     */
    listSecurityFilters(response: ResponseContext): Promise<SecurityFiltersResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listSecurityMonitoringRules
     * @throws ApiException if the response code was not in [200, 299]
     */
    listSecurityMonitoringRules(response: ResponseContext): Promise<SecurityMonitoringListRulesResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listSecurityMonitoringSignals
     * @throws ApiException if the response code was not in [200, 299]
     */
    listSecurityMonitoringSignals(response: ResponseContext): Promise<SecurityMonitoringSignalsListResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listSecurityMonitoringSuppressions
     * @throws ApiException if the response code was not in [200, 299]
     */
    listSecurityMonitoringSuppressions(response: ResponseContext): Promise<SecurityMonitoringSuppressionsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listVulnerabilities
     * @throws ApiException if the response code was not in [200, 299]
     */
    listVulnerabilities(response: ResponseContext): Promise<ListVulnerabilitiesResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listVulnerableAssets
     * @throws ApiException if the response code was not in [200, 299]
     */
    listVulnerableAssets(response: ResponseContext): Promise<ListVulnerableAssetsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to muteFindings
     * @throws ApiException if the response code was not in [200, 299]
     */
    muteFindings(response: ResponseContext): Promise<BulkMuteFindingsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to patchSignalNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    patchSignalNotificationRule(response: ResponseContext): Promise<NotificationRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to patchVulnerabilityNotificationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    patchVulnerabilityNotificationRule(response: ResponseContext): Promise<NotificationRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to runHistoricalJob
     * @throws ApiException if the response code was not in [200, 299]
     */
    runHistoricalJob(response: ResponseContext): Promise<JobCreateResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to searchSecurityMonitoringSignals
     * @throws ApiException if the response code was not in [200, 299]
     */
    searchSecurityMonitoringSignals(response: ResponseContext): Promise<SecurityMonitoringSignalsListResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to testExistingSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    testExistingSecurityMonitoringRule(response: ResponseContext): Promise<SecurityMonitoringRuleTestResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to testSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    testSecurityMonitoringRule(response: ResponseContext): Promise<SecurityMonitoringRuleTestResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateCustomFramework
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateCustomFramework(response: ResponseContext): Promise<UpdateCustomFrameworkResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateResourceEvaluationFilters
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateResourceEvaluationFilters(response: ResponseContext): Promise<UpdateResourceEvaluationFiltersResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateSecurityFilter
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateSecurityFilter(response: ResponseContext): Promise<SecurityFilterResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateSecurityMonitoringRule(response: ResponseContext): Promise<SecurityMonitoringRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateSecurityMonitoringSuppression
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateSecurityMonitoringSuppression(response: ResponseContext): Promise<SecurityMonitoringSuppressionResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to validateSecurityMonitoringRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    validateSecurityMonitoringRule(response: ResponseContext): Promise<void>;
}
export interface SecurityMonitoringApiCancelHistoricalJobRequest {
    /**
     * The ID of the job.
     * @type string
     */
    jobId: string;
}
export interface SecurityMonitoringApiConvertExistingSecurityMonitoringRuleRequest {
    /**
     * The ID of the rule.
     * @type string
     */
    ruleId: string;
}
export interface SecurityMonitoringApiConvertJobResultToSignalRequest {
    /**
     * @type ConvertJobResultsToSignalsRequest
     */
    body: ConvertJobResultsToSignalsRequest;
}
export interface SecurityMonitoringApiConvertSecurityMonitoringRuleFromJSONToTerraformRequest {
    /**
     * @type SecurityMonitoringRuleConvertPayload
     */
    body: SecurityMonitoringRuleConvertPayload;
}
export interface SecurityMonitoringApiCreateCustomFrameworkRequest {
    /**
     * @type CreateCustomFrameworkRequest
     */
    body: CreateCustomFrameworkRequest;
}
export interface SecurityMonitoringApiCreateSecurityFilterRequest {
    /**
     * The definition of the new security filter.
     * @type SecurityFilterCreateRequest
     */
    body: SecurityFilterCreateRequest;
}
export interface SecurityMonitoringApiCreateSecurityMonitoringRuleRequest {
    /**
     * @type SecurityMonitoringRuleCreatePayload
     */
    body: SecurityMonitoringRuleCreatePayload;
}
export interface SecurityMonitoringApiCreateSecurityMonitoringSuppressionRequest {
    /**
     * The definition of the new suppression rule.
     * @type SecurityMonitoringSuppressionCreateRequest
     */
    body: SecurityMonitoringSuppressionCreateRequest;
}
export interface SecurityMonitoringApiCreateSignalNotificationRuleRequest {
    /**
     * The body of the create notification rule request is composed of the rule type and the rule attributes:
     * the rule name, the selectors, the notification targets, and the rule enabled status.
     * @type CreateNotificationRuleParameters
     */
    body: CreateNotificationRuleParameters;
}
export interface SecurityMonitoringApiCreateVulnerabilityNotificationRuleRequest {
    /**
     * The body of the create notification rule request is composed of the rule type and the rule attributes:
     * the rule name, the selectors, the notification targets, and the rule enabled status.
     * @type CreateNotificationRuleParameters
     */
    body: CreateNotificationRuleParameters;
}
export interface SecurityMonitoringApiDeleteCustomFrameworkRequest {
    /**
     * The framework handle
     * @type string
     */
    handle: string;
    /**
     * The framework version
     * @type string
     */
    version: string;
}
export interface SecurityMonitoringApiDeleteHistoricalJobRequest {
    /**
     * The ID of the job.
     * @type string
     */
    jobId: string;
}
export interface SecurityMonitoringApiDeleteSecurityFilterRequest {
    /**
     * The ID of the security filter.
     * @type string
     */
    securityFilterId: string;
}
export interface SecurityMonitoringApiDeleteSecurityMonitoringRuleRequest {
    /**
     * The ID of the rule.
     * @type string
     */
    ruleId: string;
}
export interface SecurityMonitoringApiDeleteSecurityMonitoringSuppressionRequest {
    /**
     * The ID of the suppression rule
     * @type string
     */
    suppressionId: string;
}
export interface SecurityMonitoringApiDeleteSignalNotificationRuleRequest {
    /**
     * ID of the notification rule.
     * @type string
     */
    id: string;
}
export interface SecurityMonitoringApiDeleteVulnerabilityNotificationRuleRequest {
    /**
     * ID of the notification rule.
     * @type string
     */
    id: string;
}
export interface SecurityMonitoringApiEditSecurityMonitoringSignalAssigneeRequest {
    /**
     * The ID of the signal.
     * @type string
     */
    signalId: string;
    /**
     * Attributes describing the signal update.
     * @type SecurityMonitoringSignalAssigneeUpdateRequest
     */
    body: SecurityMonitoringSignalAssigneeUpdateRequest;
}
export interface SecurityMonitoringApiEditSecurityMonitoringSignalIncidentsRequest {
    /**
     * The ID of the signal.
     * @type string
     */
    signalId: string;
    /**
     * Attributes describing the signal update.
     * @type SecurityMonitoringSignalIncidentsUpdateRequest
     */
    body: SecurityMonitoringSignalIncidentsUpdateRequest;
}
export interface SecurityMonitoringApiEditSecurityMonitoringSignalStateRequest {
    /**
     * The ID of the signal.
     * @type string
     */
    signalId: string;
    /**
     * Attributes describing the signal update.
     * @type SecurityMonitoringSignalStateUpdateRequest
     */
    body: SecurityMonitoringSignalStateUpdateRequest;
}
export interface SecurityMonitoringApiGetCustomFrameworkRequest {
    /**
     * The framework handle
     * @type string
     */
    handle: string;
    /**
     * The framework version
     * @type string
     */
    version: string;
}
export interface SecurityMonitoringApiGetFindingRequest {
    /**
     * The ID of the finding.
     * @type string
     */
    findingId: string;
    /**
     * Return the finding for a given snapshot of time (Unix ms).
     * @type number
     */
    snapshotTimestamp?: number;
}
export interface SecurityMonitoringApiGetHistoricalJobRequest {
    /**
     * The ID of the job.
     * @type string
     */
    jobId: string;
}
export interface SecurityMonitoringApiGetResourceEvaluationFiltersRequest {
    /**
     * Filter resource filters by cloud provider (e.g. aws, gcp, azure).
     * @type string
     */
    cloudProvider?: string;
    /**
     * Filter resource filters by cloud provider account ID. This parameter is only valid when provider is specified.
     * @type string
     */
    accountId?: string;
    /**
     * Skip cache for resource filters.
     * @type boolean
     */
    skipCache?: boolean;
}
export interface SecurityMonitoringApiGetRuleVersionHistoryRequest {
    /**
     * The ID of the rule.
     * @type string
     */
    ruleId: string;
    /**
     * Size for a given page. The maximum allowed value is 100.
     * @type number
     */
    pageSize?: number;
    /**
     * Specific page number to return.
     * @type number
     */
    pageNumber?: number;
}
export interface SecurityMonitoringApiGetSBOMRequest {
    /**
     * The type of the asset for the SBOM request.
     * @type AssetType
     */
    assetType: AssetType;
    /**
     * The name of the asset for the SBOM request.
     * @type string
     */
    filterAssetName: string;
    /**
     * The container image `repo_digest` for the SBOM request. When the requested asset type is 'Image', this filter is mandatory.
     * @type string
     */
    filterRepoDigest?: string;
}
export interface SecurityMonitoringApiGetSecurityFilterRequest {
    /**
     * The ID of the security filter.
     * @type string
     */
    securityFilterId: string;
}
export interface SecurityMonitoringApiGetSecurityMonitoringRuleRequest {
    /**
     * The ID of the rule.
     * @type string
     */
    ruleId: string;
}
export interface SecurityMonitoringApiGetSecurityMonitoringSignalRequest {
    /**
     * The ID of the signal.
     * @type string
     */
    signalId: string;
}
export interface SecurityMonitoringApiGetSecurityMonitoringSuppressionRequest {
    /**
     * The ID of the suppression rule
     * @type string
     */
    suppressionId: string;
}
export interface SecurityMonitoringApiGetSignalNotificationRuleRequest {
    /**
     * ID of the notification rule.
     * @type string
     */
    id: string;
}
export interface SecurityMonitoringApiGetVulnerabilityNotificationRuleRequest {
    /**
     * ID of the notification rule.
     * @type string
     */
    id: string;
}
export interface SecurityMonitoringApiListFindingsRequest {
    /**
     * Limit the number of findings returned. Must be <= 1000.
     * @type number
     */
    pageLimit?: number;
    /**
     * Return findings for a given snapshot of time (Unix ms).
     * @type number
     */
    snapshotTimestamp?: number;
    /**
     * Return the next page of findings pointed to by the cursor.
     * @type string
     */
    pageCursor?: string;
    /**
     * Return findings that have these associated tags (repeatable).
     * @type string
     */
    filterTags?: string;
    /**
     * Return findings that have changed from pass to fail or vice versa on a specified date (Unix ms) or date range (using comparison operators).
     * @type string
     */
    filterEvaluationChangedAt?: string;
    /**
     * Set to `true` to return findings that are muted. Set to `false` to return unmuted findings.
     * @type boolean
     */
    filterMuted?: boolean;
    /**
     * Return findings for the specified rule ID.
     * @type string
     */
    filterRuleId?: string;
    /**
     * Return findings for the specified rule.
     * @type string
     */
    filterRuleName?: string;
    /**
     * Return only findings for the specified resource type.
     * @type string
     */
    filterResourceType?: string;
    /**
     * Return findings that were found on a specified date (Unix ms) or date range (using comparison operators).
     * @type string
     */
    filterDiscoveryTimestamp?: string;
    /**
     * Return only `pass` or `fail` findings.
     * @type FindingEvaluation
     */
    filterEvaluation?: FindingEvaluation;
    /**
     * Return only findings with the specified status.
     * @type FindingStatus
     */
    filterStatus?: FindingStatus;
    /**
     * Return findings that match the selected vulnerability types (repeatable).
     * @type Array<FindingVulnerabilityType>
     */
    filterVulnerabilityType?: Array<FindingVulnerabilityType>;
    /**
     * Return additional fields for some findings.
     * @type boolean
     */
    detailedFindings?: boolean;
}
export interface SecurityMonitoringApiListHistoricalJobsRequest {
    /**
     * Size for a given page. The maximum allowed value is 100.
     * @type number
     */
    pageSize?: number;
    /**
     * Specific page number to return.
     * @type number
     */
    pageNumber?: number;
    /**
     * The order of the jobs in results.
     * @type string
     */
    sort?: string;
    /**
     * Query used to filter items from the fetched list.
     * @type string
     */
    filterQuery?: string;
}
export interface SecurityMonitoringApiListSecurityMonitoringRulesRequest {
    /**
     * Size for a given page. The maximum allowed value is 100.
     * @type number
     */
    pageSize?: number;
    /**
     * Specific page number to return.
     * @type number
     */
    pageNumber?: number;
}
export interface SecurityMonitoringApiListSecurityMonitoringSignalsRequest {
    /**
     * The search query for security signals.
     * @type string
     */
    filterQuery?: string;
    /**
     * The minimum timestamp for requested security signals.
     * @type Date
     */
    filterFrom?: Date;
    /**
     * The maximum timestamp for requested security signals.
     * @type Date
     */
    filterTo?: Date;
    /**
     * The order of the security signals in results.
     * @type SecurityMonitoringSignalsSort
     */
    sort?: SecurityMonitoringSignalsSort;
    /**
     * A list of results using the cursor provided in the previous query.
     * @type string
     */
    pageCursor?: string;
    /**
     * The maximum number of security signals in the response.
     * @type number
     */
    pageLimit?: number;
}
export interface SecurityMonitoringApiListVulnerabilitiesRequest {
    /**
     * Its value must come from the `links` section of the response of the first request. Do not manually edit it.
     * @type string
     */
    pageToken?: string;
    /**
     * The page number to be retrieved. It should be equal or greater than `1`
     * @type number
     */
    pageNumber?: number;
    /**
     * Filter by vulnerability type.
     * @type VulnerabilityType
     */
    filterType?: VulnerabilityType;
    /**
     * Filter by vulnerability base (i.e. from the original advisory) severity score.
     * @type number
     */
    filterCvssBaseScoreOp?: number;
    /**
     * Filter by vulnerability base severity.
     * @type VulnerabilitySeverity
     */
    filterCvssBaseSeverity?: VulnerabilitySeverity;
    /**
     * Filter by vulnerability base CVSS vector.
     * @type string
     */
    filterCvssBaseVector?: string;
    /**
     * Filter by vulnerability Datadog severity score.
     * @type number
     */
    filterCvssDatadogScoreOp?: number;
    /**
     * Filter by vulnerability Datadog severity.
     * @type VulnerabilitySeverity
     */
    filterCvssDatadogSeverity?: VulnerabilitySeverity;
    /**
     * Filter by vulnerability Datadog CVSS vector.
     * @type string
     */
    filterCvssDatadogVector?: string;
    /**
     * Filter by the status of the vulnerability.
     * @type VulnerabilityStatus
     */
    filterStatus?: VulnerabilityStatus;
    /**
     * Filter by the tool of the vulnerability.
     * @type VulnerabilityTool
     */
    filterTool?: VulnerabilityTool;
    /**
     * Filter by library name.
     * @type string
     */
    filterLibraryName?: string;
    /**
     * Filter by library version.
     * @type string
     */
    filterLibraryVersion?: string;
    /**
     * Filter by advisory ID.
     * @type string
     */
    filterAdvisoryId?: string;
    /**
     * Filter by exploitation probability.
     * @type boolean
     */
    filterRisksExploitationProbability?: boolean;
    /**
     * Filter by POC exploit availability.
     * @type boolean
     */
    filterRisksPocExploitAvailable?: boolean;
    /**
     * Filter by public exploit availability.
     * @type boolean
     */
    filterRisksExploitAvailable?: boolean;
    /**
     * Filter by vulnerability [EPSS](https://www.first.org/epss/) severity score.
     * @type number
     */
    filterRisksEpssScoreOp?: number;
    /**
     * Filter by vulnerability [EPSS](https://www.first.org/epss/) severity.
     * @type VulnerabilitySeverity
     */
    filterRisksEpssSeverity?: VulnerabilitySeverity;
    /**
     * Filter by language.
     * @type string
     */
    filterLanguage?: string;
    /**
     * Filter by ecosystem.
     * @type VulnerabilityEcosystem
     */
    filterEcosystem?: VulnerabilityEcosystem;
    /**
     * Filter by vulnerability location.
     * @type string
     */
    filterCodeLocationLocation?: string;
    /**
     * Filter by vulnerability file path.
     * @type string
     */
    filterCodeLocationFilePath?: string;
    /**
     * Filter by method.
     * @type string
     */
    filterCodeLocationMethod?: string;
    /**
     * Filter by fix availability.
     * @type boolean
     */
    filterFixAvailable?: boolean;
    /**
     * Filter by vulnerability `repo_digest` (when the vulnerability is related to `Image` asset).
     * @type string
     */
    filterRepoDigests?: string;
    /**
     * Filter by asset name.
     * @type string
     */
    filterAssetName?: string;
    /**
     * Filter by asset type.
     * @type AssetType
     */
    filterAssetType?: AssetType;
    /**
     * Filter by the first version of the asset this vulnerability has been detected on.
     * @type string
     */
    filterAssetVersionFirst?: string;
    /**
     * Filter by the last version of the asset this vulnerability has been detected on.
     * @type string
     */
    filterAssetVersionLast?: string;
    /**
     * Filter by the repository url associated to the asset.
     * @type string
     */
    filterAssetRepositoryUrl?: string;
    /**
     * Filter whether the asset is in production or not.
     * @type boolean
     */
    filterAssetRisksInProduction?: boolean;
    /**
     * Filter whether the asset is under attack or not.
     * @type boolean
     */
    filterAssetRisksUnderAttack?: boolean;
    /**
     * Filter whether the asset is publicly accessible or not.
     * @type boolean
     */
    filterAssetRisksIsPubliclyAccessible?: boolean;
    /**
     * Filter whether the asset is publicly accessible or not.
     * @type boolean
     */
    filterAssetRisksHasPrivilegedAccess?: boolean;
    /**
     * Filter whether the asset  has access to sensitive data or not.
     * @type boolean
     */
    filterAssetRisksHasAccessToSensitiveData?: boolean;
    /**
     * Filter by asset environments.
     * @type string
     */
    filterAssetEnvironments?: string;
    /**
     * Filter by asset architecture.
     * @type string
     */
    filterAssetArch?: string;
    /**
     * Filter by asset operating system name.
     * @type string
     */
    filterAssetOperatingSystemName?: string;
    /**
     * Filter by asset operating system version.
     * @type string
     */
    filterAssetOperatingSystemVersion?: string;
}
export interface SecurityMonitoringApiListVulnerableAssetsRequest {
    /**
     * Its value must come from the `links` section of the response of the first request. Do not manually edit it.
     * @type string
     */
    pageToken?: string;
    /**
     * The page number to be retrieved. It should be equal or greater than `1`
     * @type number
     */
    pageNumber?: number;
    /**
     * Filter by name.
     * @type string
     */
    filterName?: string;
    /**
     * Filter by type.
     * @type AssetType
     */
    filterType?: AssetType;
    /**
     * Filter by the first version of the asset since it has been vulnerable.
     * @type string
     */
    filterVersionFirst?: string;
    /**
     * Filter by the last detected version of the asset.
     * @type string
     */
    filterVersionLast?: string;
    /**
     * Filter by the repository url associated to the asset.
     * @type string
     */
    filterRepositoryUrl?: string;
    /**
     * Filter whether the asset is in production or not.
     * @type boolean
     */
    filterRisksInProduction?: boolean;
    /**
     * Filter whether the asset (Service) is under attack or not.
     * @type boolean
     */
    filterRisksUnderAttack?: boolean;
    /**
     * Filter whether the asset (Host) is publicly accessible or not.
     * @type boolean
     */
    filterRisksIsPubliclyAccessible?: boolean;
    /**
     * Filter whether the asset (Host) has privileged access or not.
     * @type boolean
     */
    filterRisksHasPrivilegedAccess?: boolean;
    /**
     * Filter whether the asset (Host)  has access to sensitive data or not.
     * @type boolean
     */
    filterRisksHasAccessToSensitiveData?: boolean;
    /**
     * Filter by environment.
     * @type string
     */
    filterEnvironments?: string;
    /**
     * Filter by architecture.
     * @type string
     */
    filterArch?: string;
    /**
     * Filter by operating system name.
     * @type string
     */
    filterOperatingSystemName?: string;
    /**
     * Filter by operating system version.
     * @type string
     */
    filterOperatingSystemVersion?: string;
}
export interface SecurityMonitoringApiMuteFindingsRequest {
    /**
     * ### Attributes
     *
     * All findings are updated with the same attributes. The request body must include at least two attributes: `muted` and `reason`.
     * The allowed reasons depend on whether the finding is being muted or unmuted:
     *   - To mute a finding: `PENDING_FIX`, `FALSE_POSITIVE`, `ACCEPTED_RISK`, `OTHER`.
     *   - To unmute a finding : `NO_PENDING_FIX`, `HUMAN_ERROR`, `NO_LONGER_ACCEPTED_RISK`, `OTHER`.
     *
     * ### Meta
     *
     * The request body must include a list of the finding IDs to be updated.
     * @type BulkMuteFindingsRequest
     */
    body: BulkMuteFindingsRequest;
}
export interface SecurityMonitoringApiPatchSignalNotificationRuleRequest {
    /**
     * ID of the notification rule.
     * @type string
     */
    id: string;
    /**
     * @type PatchNotificationRuleParameters
     */
    body: PatchNotificationRuleParameters;
}
export interface SecurityMonitoringApiPatchVulnerabilityNotificationRuleRequest {
    /**
     * ID of the notification rule.
     * @type string
     */
    id: string;
    /**
     * @type PatchNotificationRuleParameters
     */
    body: PatchNotificationRuleParameters;
}
export interface SecurityMonitoringApiRunHistoricalJobRequest {
    /**
     * @type RunHistoricalJobRequest
     */
    body: RunHistoricalJobRequest;
}
export interface SecurityMonitoringApiSearchSecurityMonitoringSignalsRequest {
    /**
     * @type SecurityMonitoringSignalListRequest
     */
    body?: SecurityMonitoringSignalListRequest;
}
export interface SecurityMonitoringApiTestExistingSecurityMonitoringRuleRequest {
    /**
     * The ID of the rule.
     * @type string
     */
    ruleId: string;
    /**
     * @type SecurityMonitoringRuleTestRequest
     */
    body: SecurityMonitoringRuleTestRequest;
}
export interface SecurityMonitoringApiTestSecurityMonitoringRuleRequest {
    /**
     * @type SecurityMonitoringRuleTestRequest
     */
    body: SecurityMonitoringRuleTestRequest;
}
export interface SecurityMonitoringApiUpdateCustomFrameworkRequest {
    /**
     * The framework handle
     * @type string
     */
    handle: string;
    /**
     * The framework version
     * @type string
     */
    version: string;
    /**
     * @type UpdateCustomFrameworkRequest
     */
    body: UpdateCustomFrameworkRequest;
}
export interface SecurityMonitoringApiUpdateResourceEvaluationFiltersRequest {
    /**
     * @type UpdateResourceEvaluationFiltersRequest
     */
    body: UpdateResourceEvaluationFiltersRequest;
}
export interface SecurityMonitoringApiUpdateSecurityFilterRequest {
    /**
     * The ID of the security filter.
     * @type string
     */
    securityFilterId: string;
    /**
     * New definition of the security filter.
     * @type SecurityFilterUpdateRequest
     */
    body: SecurityFilterUpdateRequest;
}
export interface SecurityMonitoringApiUpdateSecurityMonitoringRuleRequest {
    /**
     * The ID of the rule.
     * @type string
     */
    ruleId: string;
    /**
     * @type SecurityMonitoringRuleUpdatePayload
     */
    body: SecurityMonitoringRuleUpdatePayload;
}
export interface SecurityMonitoringApiUpdateSecurityMonitoringSuppressionRequest {
    /**
     * The ID of the suppression rule
     * @type string
     */
    suppressionId: string;
    /**
     * New definition of the suppression rule. Supports partial updates.
     * @type SecurityMonitoringSuppressionUpdateRequest
     */
    body: SecurityMonitoringSuppressionUpdateRequest;
}
export interface SecurityMonitoringApiValidateSecurityMonitoringRuleRequest {
    /**
     * @type SecurityMonitoringRuleValidatePayload
     */
    body: SecurityMonitoringRuleValidatePayload;
}
export declare class SecurityMonitoringApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: SecurityMonitoringApiRequestFactory, responseProcessor?: SecurityMonitoringApiResponseProcessor);
    /**
     * Cancel a historical job.
     * @param param The request object
     */
    cancelHistoricalJob(param: SecurityMonitoringApiCancelHistoricalJobRequest, options?: Configuration): Promise<void>;
    /**
     * Convert an existing rule from JSON to Terraform for datadog provider
     * resource datadog_security_monitoring_rule.
     * @param param The request object
     */
    convertExistingSecurityMonitoringRule(param: SecurityMonitoringApiConvertExistingSecurityMonitoringRuleRequest, options?: Configuration): Promise<SecurityMonitoringRuleConvertResponse>;
    /**
     * Convert a job result to a signal.
     * @param param The request object
     */
    convertJobResultToSignal(param: SecurityMonitoringApiConvertJobResultToSignalRequest, options?: Configuration): Promise<void>;
    /**
     * Convert a rule that doesn't (yet) exist from JSON to Terraform for datadog provider
     * resource datadog_security_monitoring_rule.
     * @param param The request object
     */
    convertSecurityMonitoringRuleFromJSONToTerraform(param: SecurityMonitoringApiConvertSecurityMonitoringRuleFromJSONToTerraformRequest, options?: Configuration): Promise<SecurityMonitoringRuleConvertResponse>;
    /**
     * Create a custom framework.
     * @param param The request object
     */
    createCustomFramework(param: SecurityMonitoringApiCreateCustomFrameworkRequest, options?: Configuration): Promise<CreateCustomFrameworkResponse>;
    /**
     * Create a security filter.
     *
     * See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)
     * for more examples.
     * @param param The request object
     */
    createSecurityFilter(param: SecurityMonitoringApiCreateSecurityFilterRequest, options?: Configuration): Promise<SecurityFilterResponse>;
    /**
     * Create a detection rule.
     * @param param The request object
     */
    createSecurityMonitoringRule(param: SecurityMonitoringApiCreateSecurityMonitoringRuleRequest, options?: Configuration): Promise<SecurityMonitoringRuleResponse>;
    /**
     * Create a new suppression rule.
     * @param param The request object
     */
    createSecurityMonitoringSuppression(param: SecurityMonitoringApiCreateSecurityMonitoringSuppressionRequest, options?: Configuration): Promise<SecurityMonitoringSuppressionResponse>;
    /**
     * Create a new notification rule for security signals and return the created rule.
     * @param param The request object
     */
    createSignalNotificationRule(param: SecurityMonitoringApiCreateSignalNotificationRuleRequest, options?: Configuration): Promise<NotificationRuleResponse>;
    /**
     * Create a new notification rule for security vulnerabilities and return the created rule.
     * @param param The request object
     */
    createVulnerabilityNotificationRule(param: SecurityMonitoringApiCreateVulnerabilityNotificationRuleRequest, options?: Configuration): Promise<NotificationRuleResponse>;
    /**
     * Delete a custom framework.
     * @param param The request object
     */
    deleteCustomFramework(param: SecurityMonitoringApiDeleteCustomFrameworkRequest, options?: Configuration): Promise<DeleteCustomFrameworkResponse>;
    /**
     * Delete an existing job.
     * @param param The request object
     */
    deleteHistoricalJob(param: SecurityMonitoringApiDeleteHistoricalJobRequest, options?: Configuration): Promise<void>;
    /**
     * Delete a specific security filter.
     * @param param The request object
     */
    deleteSecurityFilter(param: SecurityMonitoringApiDeleteSecurityFilterRequest, options?: Configuration): Promise<void>;
    /**
     * Delete an existing rule. Default rules cannot be deleted.
     * @param param The request object
     */
    deleteSecurityMonitoringRule(param: SecurityMonitoringApiDeleteSecurityMonitoringRuleRequest, options?: Configuration): Promise<void>;
    /**
     * Delete a specific suppression rule.
     * @param param The request object
     */
    deleteSecurityMonitoringSuppression(param: SecurityMonitoringApiDeleteSecurityMonitoringSuppressionRequest, options?: Configuration): Promise<void>;
    /**
     * Delete a notification rule for security signals.
     * @param param The request object
     */
    deleteSignalNotificationRule(param: SecurityMonitoringApiDeleteSignalNotificationRuleRequest, options?: Configuration): Promise<void>;
    /**
     * Delete a notification rule for security vulnerabilities.
     * @param param The request object
     */
    deleteVulnerabilityNotificationRule(param: SecurityMonitoringApiDeleteVulnerabilityNotificationRuleRequest, options?: Configuration): Promise<void>;
    /**
     * Modify the triage assignee of a security signal.
     * @param param The request object
     */
    editSecurityMonitoringSignalAssignee(param: SecurityMonitoringApiEditSecurityMonitoringSignalAssigneeRequest, options?: Configuration): Promise<SecurityMonitoringSignalTriageUpdateResponse>;
    /**
     * Change the related incidents for a security signal.
     * @param param The request object
     */
    editSecurityMonitoringSignalIncidents(param: SecurityMonitoringApiEditSecurityMonitoringSignalIncidentsRequest, options?: Configuration): Promise<SecurityMonitoringSignalTriageUpdateResponse>;
    /**
     * Change the triage state of a security signal.
     * @param param The request object
     */
    editSecurityMonitoringSignalState(param: SecurityMonitoringApiEditSecurityMonitoringSignalStateRequest, options?: Configuration): Promise<SecurityMonitoringSignalTriageUpdateResponse>;
    /**
     * Get a custom framework.
     * @param param The request object
     */
    getCustomFramework(param: SecurityMonitoringApiGetCustomFrameworkRequest, options?: Configuration): Promise<GetCustomFrameworkResponse>;
    /**
     * Returns a single finding with message and resource configuration.
     * @param param The request object
     */
    getFinding(param: SecurityMonitoringApiGetFindingRequest, options?: Configuration): Promise<GetFindingResponse>;
    /**
     * Get a job's details.
     * @param param The request object
     */
    getHistoricalJob(param: SecurityMonitoringApiGetHistoricalJobRequest, options?: Configuration): Promise<HistoricalJobResponse>;
    /**
     * List resource filters.
     * @param param The request object
     */
    getResourceEvaluationFilters(param?: SecurityMonitoringApiGetResourceEvaluationFiltersRequest, options?: Configuration): Promise<GetResourceEvaluationFiltersResponse>;
    /**
     * Get a rule's version history.
     * @param param The request object
     */
    getRuleVersionHistory(param: SecurityMonitoringApiGetRuleVersionHistoryRequest, options?: Configuration): Promise<GetRuleVersionHistoryResponse>;
    /**
     * Get a single SBOM related to an asset by its type and name.
     * @param param The request object
     */
    getSBOM(param: SecurityMonitoringApiGetSBOMRequest, options?: Configuration): Promise<GetSBOMResponse>;
    /**
     * Get the details of a specific security filter.
     *
     * See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)
     * for more examples.
     * @param param The request object
     */
    getSecurityFilter(param: SecurityMonitoringApiGetSecurityFilterRequest, options?: Configuration): Promise<SecurityFilterResponse>;
    /**
     * Get a rule's details.
     * @param param The request object
     */
    getSecurityMonitoringRule(param: SecurityMonitoringApiGetSecurityMonitoringRuleRequest, options?: Configuration): Promise<SecurityMonitoringRuleResponse>;
    /**
     * Get a signal's details.
     * @param param The request object
     */
    getSecurityMonitoringSignal(param: SecurityMonitoringApiGetSecurityMonitoringSignalRequest, options?: Configuration): Promise<SecurityMonitoringSignalResponse>;
    /**
     * Get the details of a specific suppression rule.
     * @param param The request object
     */
    getSecurityMonitoringSuppression(param: SecurityMonitoringApiGetSecurityMonitoringSuppressionRequest, options?: Configuration): Promise<SecurityMonitoringSuppressionResponse>;
    /**
     * Get the details of a notification rule for security signals.
     * @param param The request object
     */
    getSignalNotificationRule(param: SecurityMonitoringApiGetSignalNotificationRuleRequest, options?: Configuration): Promise<NotificationRuleResponse>;
    /**
     * Returns the list of notification rules for security signals.
     * @param param The request object
     */
    getSignalNotificationRules(options?: Configuration): Promise<any>;
    /**
     * Get the details of a notification rule for security vulnerabilities.
     * @param param The request object
     */
    getVulnerabilityNotificationRule(param: SecurityMonitoringApiGetVulnerabilityNotificationRuleRequest, options?: Configuration): Promise<NotificationRuleResponse>;
    /**
     * Returns the list of notification rules for security vulnerabilities.
     * @param param The request object
     */
    getVulnerabilityNotificationRules(options?: Configuration): Promise<any>;
    /**
     * Get a list of findings. These include both misconfigurations and identity risks.
     *
     * **Note**: To filter and return only identity risks, add the following query parameter: `?filter[tags]=dd_rule_type:ciem`
     *
     * ### Filtering
     *
     * Filters can be applied by appending query parameters to the URL.
     *
     *   - Using a single filter: `?filter[attribute_key]=attribute_value`
     *   - Chaining filters: `?filter[attribute_key]=attribute_value&filter[attribute_key]=attribute_value...`
     *   - Filtering on tags: `?filter[tags]=tag_key:tag_value&filter[tags]=tag_key_2:tag_value_2`
     *
     * Here, `attribute_key` can be any of the filter keys described further below.
     *
     * Query parameters of type `integer` support comparison operators (`>`, `>=`, `<`, `<=`). This is particularly useful when filtering by `evaluation_changed_at` or `resource_discovery_timestamp`. For example: `?filter[evaluation_changed_at]=>20123123121`.
     *
     * You can also use the negation operator on strings. For example, use `filter[resource_type]=-aws*` to filter for any non-AWS resources.
     *
     * The operator must come after the equal sign. For example, to filter with the `>=` operator, add the operator after the equal sign: `filter[evaluation_changed_at]=>=1678809373257`.
     *
     * Query parameters must be only among the documented ones and with values of correct types. Duplicated query parameters (e.g. `filter[status]=low&filter[status]=info`) are not allowed.
     *
     * ### Additional extension fields
     *
     * Additional extension fields are available for some findings.
     *
     * The data is available when you include the query parameter `?detailed_findings=true` in the request.
     *
     * The following fields are available for findings:
     * - `external_id`: The resource external ID related to the finding.
     * - `description`: The description and remediation steps for the finding.
     * - `datadog_link`: The Datadog relative link for the finding.
     *
     * ### Response
     *
     * The response includes an array of finding objects, pagination metadata, and a count of items that match the query.
     *
     * Each finding object contains the following:
     *
     * - The finding ID that can be used in a `GetFinding` request to retrieve the full finding details.
     * - Core attributes, including status, evaluation, high-level resource details, muted state, and rule details.
     * - `evaluation_changed_at` and `resource_discovery_date` time stamps.
     * - An array of associated tags.
     * @param param The request object
     */
    listFindings(param?: SecurityMonitoringApiListFindingsRequest, options?: Configuration): Promise<ListFindingsResponse>;
    /**
     * Provide a paginated version of listFindings returning a generator with all the items.
     */
    listFindingsWithPagination(param?: SecurityMonitoringApiListFindingsRequest, options?: Configuration): AsyncGenerator<Finding>;
    /**
     * List historical jobs.
     * @param param The request object
     */
    listHistoricalJobs(param?: SecurityMonitoringApiListHistoricalJobsRequest, options?: Configuration): Promise<ListHistoricalJobsResponse>;
    /**
     * Get the list of configured security filters with their definitions.
     * @param param The request object
     */
    listSecurityFilters(options?: Configuration): Promise<SecurityFiltersResponse>;
    /**
     * List rules.
     * @param param The request object
     */
    listSecurityMonitoringRules(param?: SecurityMonitoringApiListSecurityMonitoringRulesRequest, options?: Configuration): Promise<SecurityMonitoringListRulesResponse>;
    /**
     * The list endpoint returns security signals that match a search query.
     * Both this endpoint and the POST endpoint can be used interchangeably when listing
     * security signals.
     * @param param The request object
     */
    listSecurityMonitoringSignals(param?: SecurityMonitoringApiListSecurityMonitoringSignalsRequest, options?: Configuration): Promise<SecurityMonitoringSignalsListResponse>;
    /**
     * Provide a paginated version of listSecurityMonitoringSignals returning a generator with all the items.
     */
    listSecurityMonitoringSignalsWithPagination(param?: SecurityMonitoringApiListSecurityMonitoringSignalsRequest, options?: Configuration): AsyncGenerator<SecurityMonitoringSignal>;
    /**
     * Get the list of all suppression rules.
     * @param param The request object
     */
    listSecurityMonitoringSuppressions(options?: Configuration): Promise<SecurityMonitoringSuppressionsResponse>;
    /**
     * Get a list of vulnerabilities.
     *
     * ### Pagination
     *
     * Pagination is enabled by default in both `vulnerabilities` and `assets`. The size of the page varies depending on the endpoint and cannot be modified. To automate the request of the next page, you can use the links section in the response.
     *
     * This endpoint will return paginated responses. The pages are stored in the links section of the response:
     *
     * ```JSON
     * {
     *   "data": [...],
     *   "meta": {...},
     *   "links": {
     *     "self": "https://.../api/v2/security/vulnerabilities",
     *     "first": "https://.../api/v2/security/vulnerabilities?page[number]=1&page[token]=abc",
     *     "last": "https://.../api/v2/security/vulnerabilities?page[number]=43&page[token]=abc",
     *     "next": "https://.../api/v2/security/vulnerabilities?page[number]=2&page[token]=abc"
     *   }
     * }
     * ```
     *
     *
     * - `links.previous` is empty if the first page is requested.
     * - `links.next` is empty if the last page is requested.
     *
     * #### Token
     *
     * Vulnerabilities can be created, updated or deleted at any point in time.
     *
     * Upon the first request, a token is created to ensure consistency across subsequent paginated requests.
     *
     * A token is valid only for 24 hours.
     *
     * #### First request
     *
     * We consider a request to be the first request when there is no `page[token]` parameter.
     *
     * The response of this first request contains the newly created token in the `links` section.
     *
     * This token can then be used in the subsequent paginated requests.
     *
     * #### Subsequent requests
     *
     * Any request containing valid `page[token]` and `page[number]` parameters will be considered a subsequent request.
     *
     * If the `token` is invalid, a `404` response will be returned.
     *
     * If the page `number` is invalid, a `400` response will be returned.
     *
     * ### Filtering
     *
     * The request can include some filter parameters to filter the data to be retrieved. The format of the filter parameters follows the [JSON:API format](https://jsonapi.org/format/#fetching-filtering): `filter[$prop_name]`, where `prop_name` is the property name in the entity being filtered by.
     *
     * All filters can include multiple values, where data will be filtered with an OR clause: `filter[title]=Title1,Title2` will filter all vulnerabilities where title is equal to `Title1` OR `Title2`.
     *
     * String filters are case sensitive.
     *
     * Boolean filters accept `true` or `false` as values.
     *
     * Number filters must include an operator as a second filter input: `filter[$prop_name][$operator]`. For example, for the vulnerabilities endpoint: `filter[cvss.base.score][lte]=8`.
     *
     * Available operators are: `eq` (==), `lt` (<), `lte` (<=), `gt` (>) and `gte` (>=).
     *
     * ### Metadata
     *
     * Following [JSON:API format](https://jsonapi.org/format/#document-meta), object including non-standard meta-information.
     *
     * This endpoint includes the meta member in the response. For more details on each of the properties included in this section, check the endpoints response tables.
     *
     * ```JSON
     * {
     *   "data": [...],
     *   "meta": {
     *     "total": 1500,
     *     "count": 18732,
     *     "token": "some_token"
     *   },
     *   "links": {...}
     * }
     * ```
     * @param param The request object
     */
    listVulnerabilities(param?: SecurityMonitoringApiListVulnerabilitiesRequest, options?: Configuration): Promise<ListVulnerabilitiesResponse>;
    /**
     * Get a list of vulnerable assets.
     *
     * ### Pagination
     *
     * Please review the [Pagination section for the "List Vulnerabilities"](#pagination) endpoint.
     *
     * ### Filtering
     *
     * Please review the [Filtering section for the "List Vulnerabilities"](#filtering) endpoint.
     *
     * ### Metadata
     *
     * Please review the [Metadata section for the "List Vulnerabilities"](#metadata) endpoint.
     * @param param The request object
     */
    listVulnerableAssets(param?: SecurityMonitoringApiListVulnerableAssetsRequest, options?: Configuration): Promise<ListVulnerableAssetsResponse>;
    /**
     * Mute or unmute findings.
     * @param param The request object
     */
    muteFindings(param: SecurityMonitoringApiMuteFindingsRequest, options?: Configuration): Promise<BulkMuteFindingsResponse>;
    /**
     * Partially update the notification rule. All fields are optional; if a field is not provided, it is not updated.
     * @param param The request object
     */
    patchSignalNotificationRule(param: SecurityMonitoringApiPatchSignalNotificationRuleRequest, options?: Configuration): Promise<NotificationRuleResponse>;
    /**
     * Partially update the notification rule. All fields are optional; if a field is not provided, it is not updated.
     * @param param The request object
     */
    patchVulnerabilityNotificationRule(param: SecurityMonitoringApiPatchVulnerabilityNotificationRuleRequest, options?: Configuration): Promise<NotificationRuleResponse>;
    /**
     * Run a historical job.
     * @param param The request object
     */
    runHistoricalJob(param: SecurityMonitoringApiRunHistoricalJobRequest, options?: Configuration): Promise<JobCreateResponse>;
    /**
     * Returns security signals that match a search query.
     * Both this endpoint and the GET endpoint can be used interchangeably for listing
     * security signals.
     * @param param The request object
     */
    searchSecurityMonitoringSignals(param?: SecurityMonitoringApiSearchSecurityMonitoringSignalsRequest, options?: Configuration): Promise<SecurityMonitoringSignalsListResponse>;
    /**
     * Provide a paginated version of searchSecurityMonitoringSignals returning a generator with all the items.
     */
    searchSecurityMonitoringSignalsWithPagination(param?: SecurityMonitoringApiSearchSecurityMonitoringSignalsRequest, options?: Configuration): AsyncGenerator<SecurityMonitoringSignal>;
    /**
     * Test an existing rule.
     * @param param The request object
     */
    testExistingSecurityMonitoringRule(param: SecurityMonitoringApiTestExistingSecurityMonitoringRuleRequest, options?: Configuration): Promise<SecurityMonitoringRuleTestResponse>;
    /**
     * Test a rule.
     * @param param The request object
     */
    testSecurityMonitoringRule(param: SecurityMonitoringApiTestSecurityMonitoringRuleRequest, options?: Configuration): Promise<SecurityMonitoringRuleTestResponse>;
    /**
     * Update a custom framework.
     * @param param The request object
     */
    updateCustomFramework(param: SecurityMonitoringApiUpdateCustomFrameworkRequest, options?: Configuration): Promise<UpdateCustomFrameworkResponse>;
    /**
     * Update resource filters.
     * @param param The request object
     */
    updateResourceEvaluationFilters(param: SecurityMonitoringApiUpdateResourceEvaluationFiltersRequest, options?: Configuration): Promise<UpdateResourceEvaluationFiltersResponse>;
    /**
     * Update a specific security filter.
     * Returns the security filter object when the request is successful.
     * @param param The request object
     */
    updateSecurityFilter(param: SecurityMonitoringApiUpdateSecurityFilterRequest, options?: Configuration): Promise<SecurityFilterResponse>;
    /**
     * Update an existing rule. When updating `cases`, `queries` or `options`, the whole field
     * must be included. For example, when modifying a query all queries must be included.
     * Default rules can only be updated to be enabled, to change notifications, or to update
     * the tags (default tags cannot be removed).
     * @param param The request object
     */
    updateSecurityMonitoringRule(param: SecurityMonitoringApiUpdateSecurityMonitoringRuleRequest, options?: Configuration): Promise<SecurityMonitoringRuleResponse>;
    /**
     * Update a specific suppression rule.
     * @param param The request object
     */
    updateSecurityMonitoringSuppression(param: SecurityMonitoringApiUpdateSecurityMonitoringSuppressionRequest, options?: Configuration): Promise<SecurityMonitoringSuppressionResponse>;
    /**
     * Validate a detection rule.
     * @param param The request object
     */
    validateSecurityMonitoringRule(param: SecurityMonitoringApiValidateSecurityMonitoringRuleRequest, options?: Configuration): Promise<void>;
}
