import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { CertificateContract, WorkspaceCertificateListByWorkspaceOptionalParams, WorkspaceCertificateGetEntityTagOptionalParams, WorkspaceCertificateGetEntityTagResponse, WorkspaceCertificateGetOptionalParams, WorkspaceCertificateGetResponse, CertificateCreateOrUpdateParameters, WorkspaceCertificateCreateOrUpdateOptionalParams, WorkspaceCertificateCreateOrUpdateResponse, WorkspaceCertificateDeleteOptionalParams, WorkspaceCertificateRefreshSecretOptionalParams, WorkspaceCertificateRefreshSecretResponse } from "../models/index.js";
/** Interface representing a WorkspaceCertificate. */
export interface WorkspaceCertificate {
    /**
     * Lists a collection of all certificates in the specified workspace.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param workspaceId Workspace identifier. Must be unique in the current API Management service
     *                    instance.
     * @param options The options parameters.
     */
    listByWorkspace(resourceGroupName: string, serviceName: string, workspaceId: string, options?: WorkspaceCertificateListByWorkspaceOptionalParams): PagedAsyncIterableIterator<CertificateContract>;
    /**
     * Gets the entity state (Etag) version of the certificate specified by its identifier.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param workspaceId Workspace identifier. Must be unique in the current API Management service
     *                    instance.
     * @param certificateId Identifier of the certificate entity. Must be unique in the current API
     *                      Management service instance.
     * @param options The options parameters.
     */
    getEntityTag(resourceGroupName: string, serviceName: string, workspaceId: string, certificateId: string, options?: WorkspaceCertificateGetEntityTagOptionalParams): Promise<WorkspaceCertificateGetEntityTagResponse>;
    /**
     * Gets the details of the certificate specified by its identifier.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param workspaceId Workspace identifier. Must be unique in the current API Management service
     *                    instance.
     * @param certificateId Identifier of the certificate entity. Must be unique in the current API
     *                      Management service instance.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, serviceName: string, workspaceId: string, certificateId: string, options?: WorkspaceCertificateGetOptionalParams): Promise<WorkspaceCertificateGetResponse>;
    /**
     * Creates or updates the certificate being used for authentication with the backend.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param workspaceId Workspace identifier. Must be unique in the current API Management service
     *                    instance.
     * @param certificateId Identifier of the certificate entity. 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, workspaceId: string, certificateId: string, parameters: CertificateCreateOrUpdateParameters, options?: WorkspaceCertificateCreateOrUpdateOptionalParams): Promise<WorkspaceCertificateCreateOrUpdateResponse>;
    /**
     * Deletes specific certificate.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param workspaceId Workspace identifier. Must be unique in the current API Management service
     *                    instance.
     * @param certificateId Identifier of the certificate entity. Must be unique in the current API
     *                      Management service instance.
     * @param ifMatch ETag of the Entity. ETag should match the current entity state from the header
     *                response of the GET request or it should be * for unconditional update.
     * @param options The options parameters.
     */
    delete(resourceGroupName: string, serviceName: string, workspaceId: string, certificateId: string, ifMatch: string, options?: WorkspaceCertificateDeleteOptionalParams): Promise<void>;
    /**
     * From KeyVault, Refresh the certificate being used for authentication with the backend.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param workspaceId Workspace identifier. Must be unique in the current API Management service
     *                    instance.
     * @param certificateId Identifier of the certificate entity. Must be unique in the current API
     *                      Management service instance.
     * @param options The options parameters.
     */
    refreshSecret(resourceGroupName: string, serviceName: string, workspaceId: string, certificateId: string, options?: WorkspaceCertificateRefreshSecretOptionalParams): Promise<WorkspaceCertificateRefreshSecretResponse>;
}
//# sourceMappingURL=workspaceCertificate.d.ts.map