import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { PollerLike, PollOperationState } from "@azure/core-lro";
import { AzureMonitorPrivateLinkScope, PrivateLinkScopesListOptionalParams, PrivateLinkScopesListByResourceGroupOptionalParams, PrivateLinkScopesDeleteOptionalParams, PrivateLinkScopesGetOptionalParams, PrivateLinkScopesGetResponse, PrivateLinkScopesCreateOrUpdateOptionalParams, PrivateLinkScopesCreateOrUpdateResponse, TagsResource, PrivateLinkScopesUpdateTagsOptionalParams, PrivateLinkScopesUpdateTagsResponse } from "../models";
/** Interface representing a PrivateLinkScopes. */
export interface PrivateLinkScopes {
    /**
     * Gets a list of all Azure Monitor PrivateLinkScopes within a subscription.
     * @param options The options parameters.
     */
    list(options?: PrivateLinkScopesListOptionalParams): PagedAsyncIterableIterator<AzureMonitorPrivateLinkScope>;
    /**
     * Gets a list of Azure Monitor PrivateLinkScopes within 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?: PrivateLinkScopesListByResourceGroupOptionalParams): PagedAsyncIterableIterator<AzureMonitorPrivateLinkScope>;
    /**
     * Deletes a Azure Monitor PrivateLinkScope.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param scopeName The name of the Azure Monitor PrivateLinkScope resource.
     * @param options The options parameters.
     */
    beginDelete(resourceGroupName: string, scopeName: string, options?: PrivateLinkScopesDeleteOptionalParams): Promise<PollerLike<PollOperationState<void>, void>>;
    /**
     * Deletes a Azure Monitor PrivateLinkScope.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param scopeName The name of the Azure Monitor PrivateLinkScope resource.
     * @param options The options parameters.
     */
    beginDeleteAndWait(resourceGroupName: string, scopeName: string, options?: PrivateLinkScopesDeleteOptionalParams): Promise<void>;
    /**
     * Returns a Azure Monitor PrivateLinkScope.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param scopeName The name of the Azure Monitor PrivateLinkScope resource.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, scopeName: string, options?: PrivateLinkScopesGetOptionalParams): Promise<PrivateLinkScopesGetResponse>;
    /**
     * Creates (or updates) a Azure Monitor PrivateLinkScope. Note: You cannot specify a different value
     * for InstrumentationKey nor AppId in the Put operation.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param scopeName The name of the Azure Monitor PrivateLinkScope resource.
     * @param azureMonitorPrivateLinkScopePayload Properties that need to be specified to create or update
     *                                            a Azure Monitor PrivateLinkScope.
     * @param options The options parameters.
     */
    createOrUpdate(resourceGroupName: string, scopeName: string, azureMonitorPrivateLinkScopePayload: AzureMonitorPrivateLinkScope, options?: PrivateLinkScopesCreateOrUpdateOptionalParams): Promise<PrivateLinkScopesCreateOrUpdateResponse>;
    /**
     * Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param scopeName The name of the Azure Monitor PrivateLinkScope resource.
     * @param privateLinkScopeTags Updated tag information to set into the PrivateLinkScope instance.
     * @param options The options parameters.
     */
    updateTags(resourceGroupName: string, scopeName: string, privateLinkScopeTags: TagsResource, options?: PrivateLinkScopesUpdateTagsOptionalParams): Promise<PrivateLinkScopesUpdateTagsResponse>;
}
//# sourceMappingURL=privateLinkScopes.d.ts.map