import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the details of available DDS flavors.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const flavor = pulumi.output(huaweicloud.Dds.getFlavors({
 *     engineName: "DDS-Community",
 *     vcpus: "8",
 * }));
 * ```
 */
export declare function getFlavors(args: GetFlavorsArgs, opts?: pulumi.InvokeOptions): Promise<GetFlavorsResult>;
/**
 * A collection of arguments for invoking getFlavors.
 */
export interface GetFlavorsArgs {
    /**
     * Specifies the engine name. Value options: **DDS-Community** and **DDS-Enhanced**.
     */
    engineName: string;
    /**
     * Specifies the DB version number. Value options: **3.4**, **4.0**, **4.2** and **4.4**.
     */
    engineVersion?: string;
    /**
     * Specifies the memory size in GB.
     */
    memory?: string;
    /**
     * Specifies the region in which to obtain the flavors. If omitted,
     * the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the type of the flavor. Value options: **mongos**, **shard**, **config**,
     * **replica**, **single** and **readonly**.
     */
    type?: string;
    /**
     * Specifies the number of vCPUs.
     */
    vcpus?: string;
}
/**
 * A collection of values returned by getFlavors.
 */
export interface GetFlavorsResult {
    /**
     * Indicates the engine name.
     */
    readonly engineName: string;
    readonly engineVersion?: string;
    /**
     * Indicates the flavors information. Structure is documented below.
     */
    readonly flavors: outputs.Dds.GetFlavorsFlavor[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Indicates the memory size in GB.
     */
    readonly memory?: string;
    readonly region: string;
    /**
     * Indicates the type of the flavor.
     */
    readonly type?: string;
    /**
     * Indicates the number of vCPUs.
     */
    readonly vcpus?: string;
}
export declare function getFlavorsOutput(args: GetFlavorsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetFlavorsResult>;
/**
 * A collection of arguments for invoking getFlavors.
 */
export interface GetFlavorsOutputArgs {
    /**
     * Specifies the engine name. Value options: **DDS-Community** and **DDS-Enhanced**.
     */
    engineName: pulumi.Input<string>;
    /**
     * Specifies the DB version number. Value options: **3.4**, **4.0**, **4.2** and **4.4**.
     */
    engineVersion?: pulumi.Input<string>;
    /**
     * Specifies the memory size in GB.
     */
    memory?: pulumi.Input<string>;
    /**
     * Specifies the region in which to obtain the flavors. If omitted,
     * the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the type of the flavor. Value options: **mongos**, **shard**, **config**,
     * **replica**, **single** and **readonly**.
     */
    type?: pulumi.Input<string>;
    /**
     * Specifies the number of vCPUs.
     */
    vcpus?: pulumi.Input<string>;
}
