import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { ProductApiLinkContract, ProductApiLinkListByProductOptionalParams, ProductApiLinkGetOptionalParams, ProductApiLinkGetResponse, ProductApiLinkCreateOrUpdateOptionalParams, ProductApiLinkCreateOrUpdateResponse, ProductApiLinkDeleteOptionalParams } from "../models/index.js";
/** Interface representing a ProductApiLink. */
export interface ProductApiLink {
    /**
     * Lists a collection of the API links associated with a product.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param productId Product identifier. Must be unique in the current API Management service instance.
     * @param options The options parameters.
     */
    listByProduct(resourceGroupName: string, serviceName: string, productId: string, options?: ProductApiLinkListByProductOptionalParams): PagedAsyncIterableIterator<ProductApiLinkContract>;
    /**
     * Gets the API link for the product.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param productId Product identifier. Must be unique in the current API Management service instance.
     * @param apiLinkId Product-API link identifier. Must be unique in the current API Management service
     *                  instance.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, serviceName: string, productId: string, apiLinkId: string, options?: ProductApiLinkGetOptionalParams): Promise<ProductApiLinkGetResponse>;
    /**
     * Adds an API to the specified product via link.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param productId Product identifier. Must be unique in the current API Management service instance.
     * @param apiLinkId Product-API link identifier. Must be unique in the current API Management service
     *                  instance.
     * @param parameters Create or update parameters.
     * @param options The options parameters.
     */
    createOrUpdate(resourceGroupName: string, serviceName: string, productId: string, apiLinkId: string, parameters: ProductApiLinkContract, options?: ProductApiLinkCreateOrUpdateOptionalParams): Promise<ProductApiLinkCreateOrUpdateResponse>;
    /**
     * Deletes the specified API from the specified product.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param productId Product identifier. Must be unique in the current API Management service instance.
     * @param apiLinkId Product-API link identifier. Must be unique in the current API Management service
     *                  instance.
     * @param options The options parameters.
     */
    delete(resourceGroupName: string, serviceName: string, productId: string, apiLinkId: string, options?: ProductApiLinkDeleteOptionalParams): Promise<void>;
}
//# sourceMappingURL=productApiLink.d.ts.map