import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get available HuaweiCloud GeminiDB flavors.
 * This is an alternative to `huaweicloud.GaussDBforNoSQL.getCassandraFlavors`
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const flavors = pulumi.output(huaweicloud.GaussDBforNoSQL.getNosqlFlavors({
 *     memory: 8,
 *     vcpus: 4,
 * }));
 * ```
 */
export declare function getNosqlFlavors(args?: GetNosqlFlavorsArgs, opts?: pulumi.InvokeOptions): Promise<GetNosqlFlavorsResult>;
/**
 * A collection of arguments for invoking getNosqlFlavors.
 */
export interface GetNosqlFlavorsArgs {
    /**
     * Specifies the availability zone (AZ) of the GaussDB specifications.
     */
    availabilityZone?: string;
    /**
     * Specifies the type of the database engine. The valid values are as follows:
     * + **cassandra**: The default value and means to query GaussDB (for Cassandra) instance specifications.
     * + **redis**: Means to query GaussDB (for Redis) instance specifications.
     * + **mongodb**: Means to query GaussDB (for Mongo) instance specifications.
     * + **influxdb**: Means to query GaussDB (for Influx) instance specifications.
     */
    engine?: string;
    /**
     * Specifies the version of the database engine.
     */
    engineVersion?: string;
    /**
     * Specifies the memory size in gigabytes (GB).
     */
    memory?: number;
    /**
     * Specifies the region in which to obtain the GaussDB specifications.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the number of vCPUs.
     */
    vcpus?: number;
}
/**
 * A collection of values returned by getNosqlFlavors.
 */
export interface GetNosqlFlavorsResult {
    readonly availabilityZone?: string;
    /**
     * The type of the database engine.
     */
    readonly engine?: string;
    /**
     * The version of the database engine.
     */
    readonly engineVersion?: string;
    /**
     * The information of the GaussDB specifications. Structure is documented below.
     */
    readonly flavors: outputs.GaussDBforNoSQL.GetNosqlFlavorsFlavor[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The memory size, in GB.
     */
    readonly memory?: number;
    readonly region?: string;
    /**
     * The number of vCPUs.
     */
    readonly vcpus?: number;
}
export declare function getNosqlFlavorsOutput(args?: GetNosqlFlavorsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetNosqlFlavorsResult>;
/**
 * A collection of arguments for invoking getNosqlFlavors.
 */
export interface GetNosqlFlavorsOutputArgs {
    /**
     * Specifies the availability zone (AZ) of the GaussDB specifications.
     */
    availabilityZone?: pulumi.Input<string>;
    /**
     * Specifies the type of the database engine. The valid values are as follows:
     * + **cassandra**: The default value and means to query GaussDB (for Cassandra) instance specifications.
     * + **redis**: Means to query GaussDB (for Redis) instance specifications.
     * + **mongodb**: Means to query GaussDB (for Mongo) instance specifications.
     * + **influxdb**: Means to query GaussDB (for Influx) instance specifications.
     */
    engine?: pulumi.Input<string>;
    /**
     * Specifies the version of the database engine.
     */
    engineVersion?: pulumi.Input<string>;
    /**
     * Specifies the memory size in gigabytes (GB).
     */
    memory?: pulumi.Input<number>;
    /**
     * Specifies the region in which to obtain the GaussDB specifications.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the number of vCPUs.
     */
    vcpus?: pulumi.Input<number>;
}
