import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get the certificates in HuaweiCloud Elastic Load Balance (ELB).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const certificateName = config.requireObject("certificateName");
 * const test = huaweicloud.Elb.getCertificate({
 *     name: certificateName,
 *     type: "server",
 * });
 * ```
 */
export declare function getCertificate(args: GetCertificateArgs, opts?: pulumi.InvokeOptions): Promise<GetCertificateResult>;
/**
 * A collection of arguments for invoking getCertificate.
 */
export interface GetCertificateArgs {
    /**
     * The name of certificate. The value is case sensitive and does not supports fuzzy matching.
     */
    name: string;
    /**
     * The region in which to obtain the ELB certificate. If omitted, the provider-level region
     * will be used.
     */
    region?: string;
    /**
     * Specifies the certificate type. The default value is `server`. The value can be one of the
     * following:
     * + `server`: indicates the server certificate.
     * + `client`: indicates the CA certificate.
     */
    type?: string;
}
/**
 * A collection of values returned by getCertificate.
 */
export interface GetCertificateResult {
    /**
     * Human-readable description for the Certificate.
     */
    readonly description: string;
    /**
     * The domain of the Certificate. This parameter is valid only when `type` is "server".
     */
    readonly domain: string;
    /**
     * Indicates the time when the certificate expires.
     */
    readonly expiration: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    readonly region: string;
    readonly type?: string;
}
export declare function getCertificateOutput(args: GetCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetCertificateResult>;
/**
 * A collection of arguments for invoking getCertificate.
 */
export interface GetCertificateOutputArgs {
    /**
     * The name of certificate. The value is case sensitive and does not supports fuzzy matching.
     */
    name: pulumi.Input<string>;
    /**
     * The region in which to obtain the ELB certificate. If omitted, the provider-level region
     * will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the certificate type. The default value is `server`. The value can be one of the
     * following:
     * + `server`: indicates the server certificate.
     * + `client`: indicates the CA certificate.
     */
    type?: pulumi.Input<string>;
}
