import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { AlertsSuppressionRule, AlertsSuppressionRulesListOptionalParams, AlertsSuppressionRulesGetOptionalParams, AlertsSuppressionRulesGetResponse, AlertsSuppressionRulesUpdateOptionalParams, AlertsSuppressionRulesUpdateResponse, AlertsSuppressionRulesDeleteOptionalParams } from "../models";
/** Interface representing a AlertsSuppressionRules. */
export interface AlertsSuppressionRules {
    /**
     * List of all the dismiss rules for the given subscription
     * @param options The options parameters.
     */
    list(options?: AlertsSuppressionRulesListOptionalParams): PagedAsyncIterableIterator<AlertsSuppressionRule>;
    /**
     * Get dismiss rule, with name: {alertsSuppressionRuleName}, for the given subscription
     * @param alertsSuppressionRuleName The unique name of the suppression alert rule
     * @param options The options parameters.
     */
    get(alertsSuppressionRuleName: string, options?: AlertsSuppressionRulesGetOptionalParams): Promise<AlertsSuppressionRulesGetResponse>;
    /**
     * Update existing rule or create new rule if it doesn't exist
     * @param alertsSuppressionRuleName The unique name of the suppression alert rule
     * @param alertsSuppressionRule Suppression rule object
     * @param options The options parameters.
     */
    update(alertsSuppressionRuleName: string, alertsSuppressionRule: AlertsSuppressionRule, options?: AlertsSuppressionRulesUpdateOptionalParams): Promise<AlertsSuppressionRulesUpdateResponse>;
    /**
     * Delete dismiss alert rule for this subscription.
     * @param alertsSuppressionRuleName The unique name of the suppression alert rule
     * @param options The options parameters.
     */
    delete(alertsSuppressionRuleName: string, options?: AlertsSuppressionRulesDeleteOptionalParams): Promise<void>;
}
//# sourceMappingURL=alertsSuppressionRules.d.ts.map