import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to obtain all version information of the specified engine type of HuaweiCloud RDS.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const test = pulumi.output(huaweicloud.Rds.getEngineVersions({
 *     type: "SQLServer",
 * }));
 * ```
 */
export declare function getEngineVersions(args?: GetEngineVersionsArgs, opts?: pulumi.InvokeOptions): Promise<GetEngineVersionsResult>;
/**
 * A collection of arguments for invoking getEngineVersions.
 */
export interface GetEngineVersionsArgs {
    /**
     * The region in which to obtain the RDS engine versions.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the RDS engine type.
     * The valid values are **MySQL**, **PostgreSQL**, **SQLServer** and **MariaDB**, default to **MySQL**.
     */
    type?: string;
}
/**
 * A collection of values returned by getEngineVersions.
 */
export interface GetEngineVersionsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly region?: string;
    readonly type?: string;
    /**
     * List of RDS versions. Structure is documented below.
     */
    readonly versions: outputs.Rds.GetEngineVersionsVersion[];
}
export declare function getEngineVersionsOutput(args?: GetEngineVersionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetEngineVersionsResult>;
/**
 * A collection of arguments for invoking getEngineVersions.
 */
export interface GetEngineVersionsOutputArgs {
    /**
     * The region in which to obtain the RDS engine versions.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the RDS engine type.
     * The valid values are **MySQL**, **PostgreSQL**, **SQLServer** and **MariaDB**, default to **MySQL**.
     */
    type?: pulumi.Input<string>;
}
