import type { PagedAsyncIterableIterator } from "@azure/core-paging";
import type { Certificate, CertificatesListOptionalParams, CertificatesListByResourceGroupOptionalParams, CertificatesGetOptionalParams, CertificatesGetResponse, CertificatesCreateOrUpdateOptionalParams, CertificatesCreateOrUpdateResponse, CertificatesDeleteOptionalParams, CertificatePatchResource, CertificatesUpdateOptionalParams, CertificatesUpdateResponse } from "../models/index.js";
/** Interface representing a Certificates. */
export interface Certificates {
    /**
     * Description for Get all certificates for a subscription.
     * @param options The options parameters.
     */
    list(options?: CertificatesListOptionalParams): PagedAsyncIterableIterator<Certificate>;
    /**
     * Description for Get all certificates in a resource group.
     * @param resourceGroupName Name of the resource group to which the resource belongs.
     * @param options The options parameters.
     */
    listByResourceGroup(resourceGroupName: string, options?: CertificatesListByResourceGroupOptionalParams): PagedAsyncIterableIterator<Certificate>;
    /**
     * Description for Get a certificate.
     * @param resourceGroupName Name of the resource group to which the resource belongs.
     * @param name Name of the certificate.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, name: string, options?: CertificatesGetOptionalParams): Promise<CertificatesGetResponse>;
    /**
     * Description for Create or update a certificate.
     * @param resourceGroupName Name of the resource group to which the resource belongs.
     * @param name Name of the certificate.
     * @param certificateEnvelope Details of certificate, if it exists already.
     * @param options The options parameters.
     */
    createOrUpdate(resourceGroupName: string, name: string, certificateEnvelope: Certificate, options?: CertificatesCreateOrUpdateOptionalParams): Promise<CertificatesCreateOrUpdateResponse>;
    /**
     * Description for Delete a certificate.
     * @param resourceGroupName Name of the resource group to which the resource belongs.
     * @param name Name of the certificate.
     * @param options The options parameters.
     */
    delete(resourceGroupName: string, name: string, options?: CertificatesDeleteOptionalParams): Promise<void>;
    /**
     * Description for Create or update a certificate.
     * @param resourceGroupName Name of the resource group to which the resource belongs.
     * @param name Name of the certificate.
     * @param certificateEnvelope Details of certificate, if it exists already.
     * @param options The options parameters.
     */
    update(resourceGroupName: string, name: string, certificateEnvelope: CertificatePatchResource, options?: CertificatesUpdateOptionalParams): Promise<CertificatesUpdateResponse>;
}
//# sourceMappingURL=certificates.d.ts.map