import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of cdn certificates
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const fooCdnCertificate = new volcengine.cdn.CdnCertificate("fooCdnCertificate", {
 *     certificate: "",
 *     privateKey: "",
 *     desc: "tftest",
 *     source: "cdn_cert_hosting",
 * });
 * const fooCertificates = volcengine.cdn.getCertificatesOutput({
 *     source: fooCdnCertificate.source,
 * });
 * ```
 */
export declare function getCertificates(args: GetCertificatesArgs, opts?: pulumi.InvokeOptions): Promise<GetCertificatesResult>;
/**
 * A collection of arguments for invoking getCertificates.
 */
export interface GetCertificatesArgs {
    /**
     * Specify a domain to obtain certificates that include that domain in the SAN field. The domain can be a wildcard domain. For example, specifying *.example.com will obtain certificates that include img.example.com or www.example.com in the SAN field.
     */
    name?: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * Specify the location for storing the certificate. The parameter can take the following values: `volcCertCenter`: indicates that the certificate will be stored in the certificate center.`cdnCertHosting`: indicates that the certificate will be hosted on the content delivery network.
     */
    source: string;
    /**
     * Specify one or more states to retrieve certificates in those states. By default, all certificates in all states are returned. You can specify the following states. Multiple states are separated by commas. running: Retrieves certificates with a validity period greater than 30 days. expired: Retrieves certificates that have already expired. expiring_soon: Retrieves certificates with a validity period less than or equal to 30 days but have not yet expired.
     */
    status?: string;
}
/**
 * A collection of values returned by getCertificates.
 */
export interface GetCertificatesResult {
    /**
     * The collection of query.
     */
    readonly certInfos: outputs.cdn.GetCertificatesCertInfo[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name?: string;
    readonly outputFile?: string;
    /**
     * Specify the location for storing the certificate. The parameter can take the following values: `volcCertCenter`: indicates that the certificate will be stored in the certificate center.`cdnCertHosting`: indicates that the certificate will be hosted on the content delivery network.
     */
    readonly source: string;
    /**
     * Specify one or more states to retrieve certificates in those states. By default, all certificates in all states are returned. You can specify the following states. Multiple states are separated by commas. running: Retrieves certificates with a validity period greater than 30 days. expired: Retrieves certificates that have already expired. expiring_soon: Retrieves certificates with a validity period less than or equal to 30 days but have not yet expired.
     */
    readonly status?: string;
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of cdn certificates
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const fooCdnCertificate = new volcengine.cdn.CdnCertificate("fooCdnCertificate", {
 *     certificate: "",
 *     privateKey: "",
 *     desc: "tftest",
 *     source: "cdn_cert_hosting",
 * });
 * const fooCertificates = volcengine.cdn.getCertificatesOutput({
 *     source: fooCdnCertificate.source,
 * });
 * ```
 */
export declare function getCertificatesOutput(args: GetCertificatesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetCertificatesResult>;
/**
 * A collection of arguments for invoking getCertificates.
 */
export interface GetCertificatesOutputArgs {
    /**
     * Specify a domain to obtain certificates that include that domain in the SAN field. The domain can be a wildcard domain. For example, specifying *.example.com will obtain certificates that include img.example.com or www.example.com in the SAN field.
     */
    name?: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * Specify the location for storing the certificate. The parameter can take the following values: `volcCertCenter`: indicates that the certificate will be stored in the certificate center.`cdnCertHosting`: indicates that the certificate will be hosted on the content delivery network.
     */
    source: pulumi.Input<string>;
    /**
     * Specify one or more states to retrieve certificates in those states. By default, all certificates in all states are returned. You can specify the following states. Multiple states are separated by commas. running: Retrieves certificates with a validity period greater than 30 days. expired: Retrieves certificates that have already expired. expiring_soon: Retrieves certificates with a validity period less than or equal to 30 days but have not yet expired.
     */
    status?: pulumi.Input<string>;
}
