import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { ActivityLogAlerts } from "../operationsInterfaces";
import { MonitorClient } from "../monitorClient";
import { ActivityLogAlertResource, ActivityLogAlertsListBySubscriptionIdOptionalParams, ActivityLogAlertsListByResourceGroupOptionalParams, ActivityLogAlertsCreateOrUpdateOptionalParams, ActivityLogAlertsCreateOrUpdateResponse, ActivityLogAlertsGetOptionalParams, ActivityLogAlertsGetResponse, ActivityLogAlertsDeleteOptionalParams, ActivityLogAlertPatchBody, ActivityLogAlertsUpdateOptionalParams, ActivityLogAlertsUpdateResponse } from "../models";
/** Class containing ActivityLogAlerts operations. */
export declare class ActivityLogAlertsImpl implements ActivityLogAlerts {
    private readonly client;
    /**
     * Initialize a new instance of the class ActivityLogAlerts class.
     * @param client Reference to the service client
     */
    constructor(client: MonitorClient);
    /**
     * Get a list of all activity log alerts in a subscription.
     * @param options The options parameters.
     */
    listBySubscriptionId(options?: ActivityLogAlertsListBySubscriptionIdOptionalParams): PagedAsyncIterableIterator<ActivityLogAlertResource>;
    private listBySubscriptionIdPagingPage;
    private listBySubscriptionIdPagingAll;
    /**
     * Get a list of all activity log alerts in a resource group.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param options The options parameters.
     */
    listByResourceGroup(resourceGroupName: string, options?: ActivityLogAlertsListByResourceGroupOptionalParams): PagedAsyncIterableIterator<ActivityLogAlertResource>;
    private listByResourceGroupPagingPage;
    private listByResourceGroupPagingAll;
    /**
     * Create a new activity log alert or update an existing one.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param activityLogAlertName The name of the activity log alert.
     * @param activityLogAlert The activity log alert to create or use for the update.
     * @param options The options parameters.
     */
    createOrUpdate(resourceGroupName: string, activityLogAlertName: string, activityLogAlert: ActivityLogAlertResource, options?: ActivityLogAlertsCreateOrUpdateOptionalParams): Promise<ActivityLogAlertsCreateOrUpdateResponse>;
    /**
     * Get an activity log alert.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param activityLogAlertName The name of the activity log alert.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, activityLogAlertName: string, options?: ActivityLogAlertsGetOptionalParams): Promise<ActivityLogAlertsGetResponse>;
    /**
     * Delete an activity log alert.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param activityLogAlertName The name of the activity log alert.
     * @param options The options parameters.
     */
    delete(resourceGroupName: string, activityLogAlertName: string, options?: ActivityLogAlertsDeleteOptionalParams): Promise<void>;
    /**
     * Updates an existing ActivityLogAlertResource's tags. To update other fields use the CreateOrUpdate
     * method.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param activityLogAlertName The name of the activity log alert.
     * @param activityLogAlertPatch Parameters supplied to the operation.
     * @param options The options parameters.
     */
    update(resourceGroupName: string, activityLogAlertName: string, activityLogAlertPatch: ActivityLogAlertPatchBody, options?: ActivityLogAlertsUpdateOptionalParams): Promise<ActivityLogAlertsUpdateResponse>;
    /**
     * Get a list of all activity log alerts in a subscription.
     * @param options The options parameters.
     */
    private _listBySubscriptionId;
    /**
     * Get a list of all activity log alerts in a resource group.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param options The options parameters.
     */
    private _listByResourceGroup;
}
//# sourceMappingURL=activityLogAlerts.d.ts.map