import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { DataCollectionRuleResource, DataCollectionRulesListByResourceGroupOptionalParams, DataCollectionRulesListBySubscriptionOptionalParams, DataCollectionRulesGetOptionalParams, DataCollectionRulesGetResponse, DataCollectionRulesCreateOptionalParams, DataCollectionRulesCreateResponse, DataCollectionRulesUpdateOptionalParams, DataCollectionRulesUpdateResponse, DataCollectionRulesDeleteOptionalParams } from "../models";
/** Interface representing a DataCollectionRules. */
export interface DataCollectionRules {
    /**
     * Lists all data collection rules in the specified resource group.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param options The options parameters.
     */
    listByResourceGroup(resourceGroupName: string, options?: DataCollectionRulesListByResourceGroupOptionalParams): PagedAsyncIterableIterator<DataCollectionRuleResource>;
    /**
     * Lists all data collection rules in the specified subscription.
     * @param options The options parameters.
     */
    listBySubscription(options?: DataCollectionRulesListBySubscriptionOptionalParams): PagedAsyncIterableIterator<DataCollectionRuleResource>;
    /**
     * Returns the specified data collection rule.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param dataCollectionRuleName The name of the data collection rule. The name is case insensitive.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, dataCollectionRuleName: string, options?: DataCollectionRulesGetOptionalParams): Promise<DataCollectionRulesGetResponse>;
    /**
     * Creates or updates a data collection rule.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param dataCollectionRuleName The name of the data collection rule. The name is case insensitive.
     * @param options The options parameters.
     */
    create(resourceGroupName: string, dataCollectionRuleName: string, options?: DataCollectionRulesCreateOptionalParams): Promise<DataCollectionRulesCreateResponse>;
    /**
     * Updates part of a data collection rule.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param dataCollectionRuleName The name of the data collection rule. The name is case insensitive.
     * @param options The options parameters.
     */
    update(resourceGroupName: string, dataCollectionRuleName: string, options?: DataCollectionRulesUpdateOptionalParams): Promise<DataCollectionRulesUpdateResponse>;
    /**
     * Deletes a data collection rule.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param dataCollectionRuleName The name of the data collection rule. The name is case insensitive.
     * @param options The options parameters.
     */
    delete(resourceGroupName: string, dataCollectionRuleName: string, options?: DataCollectionRulesDeleteOptionalParams): Promise<void>;
}
//# sourceMappingURL=dataCollectionRules.d.ts.map