import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { DataCollectionRuleAssociationProxyOnlyResource, DataCollectionRuleAssociationsListByResourceOptionalParams, DataCollectionRuleAssociationsListByRuleOptionalParams, DataCollectionRuleAssociationsGetOptionalParams, DataCollectionRuleAssociationsGetResponse, DataCollectionRuleAssociationsCreateOptionalParams, DataCollectionRuleAssociationsCreateResponse, DataCollectionRuleAssociationsDeleteOptionalParams } from "../models";
/** Interface representing a DataCollectionRuleAssociations. */
export interface DataCollectionRuleAssociations {
    /**
     * 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>;
    /**
     * 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>;
    /**
     * 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>;
}
//# sourceMappingURL=dataCollectionRuleAssociations.d.ts.map