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 { Finding } from "../models/Finding";
import { FindingEvaluation } from "../models/FindingEvaluation";
import { FindingStatus } from "../models/FindingStatus";
import { GetFindingResponse } from "../models/GetFindingResponse";
import { ListFindingsResponse } from "../models/ListFindingsResponse";
import { MuteFindingRequest } from "../models/MuteFindingRequest";
import { MuteFindingResponse } from "../models/MuteFindingResponse";
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 { SecurityMonitoringRuleCreatePayload } from "../models/SecurityMonitoringRuleCreatePayload";
import { SecurityMonitoringRuleResponse } from "../models/SecurityMonitoringRuleResponse";
import { SecurityMonitoringRuleUpdatePayload } from "../models/SecurityMonitoringRuleUpdatePayload";
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";
export declare class SecurityMonitoringApiRequestFactory extends BaseAPIRequestFactory {
    createSecurityFilter(body: SecurityFilterCreateRequest, _options?: Configuration): Promise<RequestContext>;
    createSecurityMonitoringRule(body: SecurityMonitoringRuleCreatePayload, _options?: Configuration): Promise<RequestContext>;
    deleteSecurityFilter(securityFilterId: string, _options?: Configuration): Promise<RequestContext>;
    deleteSecurityMonitoringRule(ruleId: 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>;
    getFinding(findingId: string, snapshotTimestamp?: number, _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>;
    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, _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>;
    searchSecurityMonitoringSignals(body?: SecurityMonitoringSignalListRequest, _options?: Configuration): Promise<RequestContext>;
    updateFinding(findingId: string, body: MuteFindingRequest, _options?: Configuration): Promise<RequestContext>;
    updateSecurityFilter(securityFilterId: string, body: SecurityFilterUpdateRequest, _options?: Configuration): Promise<RequestContext>;
    updateSecurityMonitoringRule(ruleId: string, body: SecurityMonitoringRuleUpdatePayload, _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 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 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 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 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 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 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 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 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 updateFinding
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateFinding(response: ResponseContext): Promise<MuteFindingResponse>;
    /**
     * 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>;
}
export interface SecurityMonitoringApiCreateSecurityFilterRequest {
    /**
     * The definition of the new security filter.
     * @type SecurityFilterCreateRequest
     */
    body: SecurityFilterCreateRequest;
}
export interface SecurityMonitoringApiCreateSecurityMonitoringRuleRequest {
    /**
     * @type SecurityMonitoringRuleCreatePayload
     */
    body: SecurityMonitoringRuleCreatePayload;
}
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 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 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 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 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;
}
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 SecurityMonitoringApiSearchSecurityMonitoringSignalsRequest {
    /**
     * @type SecurityMonitoringSignalListRequest
     */
    body?: SecurityMonitoringSignalListRequest;
}
export interface SecurityMonitoringApiUpdateFindingRequest {
    /**
     * The ID of the finding.
     * @type string
     */
    findingId: string;
    /**
     * To mute or unmute a finding, the request body should 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`.
     * @type MuteFindingRequest
     */
    body: MuteFindingRequest;
}
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 declare class SecurityMonitoringApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: SecurityMonitoringApiRequestFactory, responseProcessor?: SecurityMonitoringApiResponseProcessor);
    /**
     * 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>;
    /**
     * 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>;
    /**
     * 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>;
    /**
     * Returns a single finding with message and resource configuration.
     * @param param The request object
     */
    getFinding(param: SecurityMonitoringApiGetFindingRequest, options?: Configuration): Promise<GetFindingResponse>;
    /**
     * 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 a list of CSPM findings.
     *
     * ### 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.
     *
     * ### 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>;
    /**
     * 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>;
    /**
     * 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>;
    /**
     * Mute or unmute a specific finding.
     * The API returns the updated finding object when the request is successful.
     * @param param The request object
     */
    updateFinding(param: SecurityMonitoringApiUpdateFindingRequest, options?: Configuration): Promise<MuteFindingResponse>;
    /**
     * 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 and to change notifications.
     * @param param The request object
     */
    updateSecurityMonitoringRule(param: SecurityMonitoringApiUpdateSecurityMonitoringRuleRequest, options?: Configuration): Promise<SecurityMonitoringRuleResponse>;
}
