import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { DataCollectionRuleAssociations } from "../operationsInterfaces";
import { MonitorClient } from "../monitorClient";
import { DataCollectionRuleAssociationProxyOnlyResource, DataCollectionRuleAssociationsListByResourceOptionalParams, DataCollectionRuleAssociationsListByRuleOptionalParams, DataCollectionRuleAssociationsGetOptionalParams, DataCollectionRuleAssociationsGetResponse, DataCollectionRuleAssociationsCreateOptionalParams, DataCollectionRuleAssociationsCreateResponse, DataCollectionRuleAssociationsDeleteOptionalParams } from "../models";
/** Class containing DataCollectionRuleAssociations operations. */
export declare class DataCollectionRuleAssociationsImpl implements DataCollectionRuleAssociations {
    private readonly client;
    /**
     * Initialize a new instance of the class DataCollectionRuleAssociations class.
     * @param client Reference to the service client
     */
    constructor(client: MonitorClient);
    /**
     * Lists associations for the specified resource.
     * @param resourceUri The identifier of the resource.
     * @param options The options parameters.
     */
    listByResource(resourceUri: string, options?: DataCollectionRuleAssociationsListByResourceOptionalParams): PagedAsyncIterableIterator<DataCollectionRuleAssociationProxyOnlyResource>;
    private listByResourcePagingPage;
    private listByResourcePagingAll;
    /**
     * Lists associations for 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.
     */
    listByRule(resourceGroupName: string, dataCollectionRuleName: string, options?: DataCollectionRuleAssociationsListByRuleOptionalParams): PagedAsyncIterableIterator<DataCollectionRuleAssociationProxyOnlyResource>;
    private listByRulePagingPage;
    private listByRulePagingAll;
    /**
     * Lists associations for the specified resource.
     * @param resourceUri The identifier of the resource.
     * @param options The options parameters.
     */
    private _listByResource;
    /**
     * Lists associations for 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.
     */
    private _listByRule;
    /**
     * Returns the specified association.
     * @param resourceUri The identifier of the resource.
     * @param associationName The name of the association. The name is case insensitive.
     * @param options The options parameters.
     */
    get(resourceUri: string, associationName: string, options?: DataCollectionRuleAssociationsGetOptionalParams): Promise<DataCollectionRuleAssociationsGetResponse>;
    /**
     * Creates or updates an association.
     * @param resourceUri The identifier of the resource.
     * @param associationName The name of the association. The name is case insensitive.
     * @param options The options parameters.
     */
    create(resourceUri: string, associationName: string, options?: DataCollectionRuleAssociationsCreateOptionalParams): Promise<DataCollectionRuleAssociationsCreateResponse>;
    /**
     * Deletes an association.
     * @param resourceUri The identifier of the resource.
     * @param associationName The name of the association. The name is case insensitive.
     * @param options The options parameters.
     */
    delete(resourceUri: string, associationName: string, options?: DataCollectionRuleAssociationsDeleteOptionalParams): Promise<void>;
    /**
     * ListByResourceNext
     * @param resourceUri The identifier of the resource.
     * @param nextLink The nextLink from the previous successful call to the ListByResource method.
     * @param options The options parameters.
     */
    private _listByResourceNext;
    /**
     * ListByRuleNext
     * @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 nextLink The nextLink from the previous successful call to the ListByRule method.
     * @param options The options parameters.
     */
    private _listByRuleNext;
}
//# sourceMappingURL=dataCollectionRuleAssociations.d.ts.map