import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the specifications that a RDS instance can be changed to.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const instanceId = config.requireObject("instanceId");
 * const test = huaweicloud.Rds.getAvailableFlavors({
 *     instanceId: instanceId,
 *     availabilityZoneIds: "cn-north-4a",
 *     haMode: "ha",
 * });
 * ```
 */
export declare function getAvailableFlavors(args: GetAvailableFlavorsArgs, opts?: pulumi.InvokeOptions): Promise<GetAvailableFlavorsResult>;
/**
 * A collection of arguments for invoking getAvailableFlavors.
 */
export interface GetAvailableFlavorsArgs {
    /**
     * Specifies the availability zone.
     */
    availabilityZoneIds: string;
    /**
     * Specifies the flavor category type.
     */
    flavorCategoryType?: string;
    /**
     * Specifies the HA mode. Value options: **single**, **ha**, **replica**.
     */
    haMode: string;
    /**
     * Specifies the ID of the RDS instance.
     */
    instanceId: string;
    /**
     * Specifies whether display highly available read-only types.
     */
    isRhaFlavor?: boolean;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the resource specification code, fuzzy matching is supported.
     */
    specCodeLike?: string;
}
/**
 * A collection of values returned by getAvailableFlavors.
 */
export interface GetAvailableFlavorsResult {
    readonly availabilityZoneIds: string;
    readonly flavorCategoryType?: string;
    readonly haMode: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceId: string;
    readonly isRhaFlavor?: boolean;
    /**
     * Indicates the list of available flavors.
     */
    readonly optionalFlavors: outputs.Rds.GetAvailableFlavorsOptionalFlavor[];
    readonly region: string;
    readonly specCodeLike?: string;
}
export declare function getAvailableFlavorsOutput(args: GetAvailableFlavorsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAvailableFlavorsResult>;
/**
 * A collection of arguments for invoking getAvailableFlavors.
 */
export interface GetAvailableFlavorsOutputArgs {
    /**
     * Specifies the availability zone.
     */
    availabilityZoneIds: pulumi.Input<string>;
    /**
     * Specifies the flavor category type.
     */
    flavorCategoryType?: pulumi.Input<string>;
    /**
     * Specifies the HA mode. Value options: **single**, **ha**, **replica**.
     */
    haMode: pulumi.Input<string>;
    /**
     * Specifies the ID of the RDS instance.
     */
    instanceId: pulumi.Input<string>;
    /**
     * Specifies whether display highly available read-only types.
     */
    isRhaFlavor?: pulumi.Input<boolean>;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the resource specification code, fuzzy matching is supported.
     */
    specCodeLike?: pulumi.Input<string>;
}
