import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { SimplePollerLike, OperationState } from "@azure/core-lro";
import { NspLink, NetworkSecurityPerimeterLinksListOptionalParams, NetworkSecurityPerimeterLinksGetOptionalParams, NetworkSecurityPerimeterLinksGetResponse, NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams, NetworkSecurityPerimeterLinksCreateOrUpdateResponse, NetworkSecurityPerimeterLinksDeleteOptionalParams } from "../models/index.js";
/** Interface representing a NetworkSecurityPerimeterLinks. */
export interface NetworkSecurityPerimeterLinks {
    /**
     * Lists the NSP Link resources in the specified network security perimeter.
     * @param resourceGroupName The name of the resource group.
     * @param networkSecurityPerimeterName The name of the network security perimeter.
     * @param options The options parameters.
     */
    list(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimeterLinksListOptionalParams): PagedAsyncIterableIterator<NspLink>;
    /**
     * Gets the specified NSP link resource.
     * @param resourceGroupName The name of the resource group.
     * @param networkSecurityPerimeterName The name of the network security perimeter.
     * @param linkName The name of the NSP link.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, options?: NetworkSecurityPerimeterLinksGetOptionalParams): Promise<NetworkSecurityPerimeterLinksGetResponse>;
    /**
     * Creates or updates NSP link resource.
     * @param resourceGroupName The name of the resource group.
     * @param networkSecurityPerimeterName The name of the network security perimeter.
     * @param linkName The name of the NSP link.
     * @param parameters Parameters that hold the NspLink resource to be created/updated.
     * @param options The options parameters.
     */
    createOrUpdate(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, parameters: NspLink, options?: NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams): Promise<NetworkSecurityPerimeterLinksCreateOrUpdateResponse>;
    /**
     * Deletes an NSP Link resource.
     * @param resourceGroupName The name of the resource group.
     * @param networkSecurityPerimeterName The name of the network security perimeter.
     * @param linkName The name of the NSP link.
     * @param options The options parameters.
     */
    beginDelete(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, options?: NetworkSecurityPerimeterLinksDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    /**
     * Deletes an NSP Link resource.
     * @param resourceGroupName The name of the resource group.
     * @param networkSecurityPerimeterName The name of the network security perimeter.
     * @param linkName The name of the NSP link.
     * @param options The options parameters.
     */
    beginDeleteAndWait(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, options?: NetworkSecurityPerimeterLinksDeleteOptionalParams): Promise<void>;
}
//# sourceMappingURL=networkSecurityPerimeterLinks.d.ts.map