import * as pulumi from "@pulumi/pulumi";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as pulumi from "@huaweicloudos/pulumi";
 *
 * const config = new pulumi.Config();
 * const name = config.requireObject("name");
 * const userId = config.requireObject("userId");
 * const test = new huaweicloud.iam.VirtualMfaDevice("test", {userId: userId});
 * ```
 *
 * ## Import
 *
 * The virtual MFA device can be imported using the `user_id`, e.g. bash
 *
 * ```sh
 *  $ pulumi import huaweicloud:Iam/virtualMfaDevice:VirtualMfaDevice test <user_id>
 * ```
 */
export declare class VirtualMfaDevice extends pulumi.CustomResource {
    /**
     * Get an existing VirtualMfaDevice resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VirtualMfaDeviceState, opts?: pulumi.CustomResourceOptions): VirtualMfaDevice;
    /**
     * Returns true if the given object is an instance of VirtualMfaDevice.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is VirtualMfaDevice;
    /**
     * The base32 seed, which a third-patry system can use to generate a `CAPTCHA` code.
     */
    readonly base32StringSeed: pulumi.Output<string>;
    /**
     * Specifies the virtual MFA device name. Changing this will create a new virtual
     * MFA device.
     */
    readonly name: pulumi.Output<string>;
    /**
     * A QR code PNG image that encodes `otpauth://totp/huawei:$domainName@$userName?secret=$Base32String`
     * where `$domainName` is IAM domain name, `$userName` is IAM user name, and `Base32String` is the seed in base32 format.
     */
    readonly qrCodePng: pulumi.Output<string>;
    /**
     * Specifies the user ID which the virtual MFA device belongs to.
     * Changing this will create a new virtual MFA device.
     */
    readonly userId: pulumi.Output<string>;
    /**
     * Create a VirtualMfaDevice resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: VirtualMfaDeviceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering VirtualMfaDevice resources.
 */
export interface VirtualMfaDeviceState {
    /**
     * The base32 seed, which a third-patry system can use to generate a `CAPTCHA` code.
     */
    base32StringSeed?: pulumi.Input<string>;
    /**
     * Specifies the virtual MFA device name. Changing this will create a new virtual
     * MFA device.
     */
    name?: pulumi.Input<string>;
    /**
     * A QR code PNG image that encodes `otpauth://totp/huawei:$domainName@$userName?secret=$Base32String`
     * where `$domainName` is IAM domain name, `$userName` is IAM user name, and `Base32String` is the seed in base32 format.
     */
    qrCodePng?: pulumi.Input<string>;
    /**
     * Specifies the user ID which the virtual MFA device belongs to.
     * Changing this will create a new virtual MFA device.
     */
    userId?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a VirtualMfaDevice resource.
 */
export interface VirtualMfaDeviceArgs {
    /**
     * Specifies the virtual MFA device name. Changing this will create a new virtual
     * MFA device.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the user ID which the virtual MFA device belongs to.
     * Changing this will create a new virtual MFA device.
     */
    userId: pulumi.Input<string>;
}
