import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get the certificate of WAF within HuaweiCloud.
 *
 * > When multiple pieces of data are queried, the datasource will process the first piece of data and put it back.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const enterpriseProjectId = config.requireObject("enterpriseProjectId");
 * const test = huaweicloud.Waf.getCertificate({
 *     name: "test-name",
 *     enterpriseProjectId: enterpriseProjectId,
 * });
 * ```
 */
export declare function getCertificate(args?: GetCertificateArgs, opts?: pulumi.InvokeOptions): Promise<GetCertificateResult>;
/**
 * A collection of arguments for invoking getCertificate.
 */
export interface GetCertificateArgs {
    /**
     * Specifies the enterprise project ID of WAF certificate.
     * For enterprise users, if omitted, default enterprise project will be used.
     */
    enterpriseProjectId?: string;
    /**
     * Specifies the certificate expiration status. The options are as follows:
     * + `0`: Not expired;
     * + `1`: Expired;
     * + `2`: Expired soon (The certificate will expire in one month.)
     */
    expirationStatus?: string;
    /**
     * @deprecated Use 'expiration_status' instead.
     */
    expireStatus?: number;
    /**
     * Specifies the name of certificate. The value is case-sensitive and supports fuzzy matching.
     */
    name?: string;
    /**
     * Specifies the region in which to obtain the WAF. If omitted, the provider-level region
     * will be used.
     */
    region?: string;
}
/**
 * A collection of values returned by getCertificate.
 */
export interface GetCertificateResult {
    /**
     * Indicates the time when the certificate uploaded, in RFC3339 format.
     */
    readonly createdAt: string;
    readonly enterpriseProjectId: string;
    /**
     * @deprecated Use 'expired_at' instead.
     */
    readonly expiration: string;
    readonly expirationStatus: string;
    /**
     * @deprecated Use 'expiration_status' instead.
     */
    readonly expireStatus?: number;
    /**
     * Indicates the time when the certificate expires, in RFC3339 format.
     */
    readonly expiredAt: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    readonly region: string;
}
export declare function getCertificateOutput(args?: GetCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetCertificateResult>;
/**
 * A collection of arguments for invoking getCertificate.
 */
export interface GetCertificateOutputArgs {
    /**
     * Specifies the enterprise project ID of WAF certificate.
     * For enterprise users, if omitted, default enterprise project will be used.
     */
    enterpriseProjectId?: pulumi.Input<string>;
    /**
     * Specifies the certificate expiration status. The options are as follows:
     * + `0`: Not expired;
     * + `1`: Expired;
     * + `2`: Expired soon (The certificate will expire in one month.)
     */
    expirationStatus?: pulumi.Input<string>;
    /**
     * @deprecated Use 'expiration_status' instead.
     */
    expireStatus?: pulumi.Input<number>;
    /**
     * Specifies the name of certificate. The value is case-sensitive and supports fuzzy matching.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the region in which to obtain the WAF. If omitted, the provider-level region
     * will be used.
     */
    region?: pulumi.Input<string>;
}
