import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the databases that can be restored to a specified point in time.
 *
 * ## 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 restoreTime = config.requireObject("restoreTime");
 * const test = huaweicloud.Rds.getRestoredDatabases({
 *     engine: "postgresql",
 *     instanceIds: [instanceId],
 *     restoreTime: restoreTime,
 * });
 * ```
 */
export declare function getRestoredDatabases(args: GetRestoredDatabasesArgs, opts?: pulumi.InvokeOptions): Promise<GetRestoredDatabasesResult>;
/**
 * A collection of arguments for invoking getRestoredDatabases.
 */
export interface GetRestoredDatabasesArgs {
    /**
     * Specifies the database name, which can be used for fuzzy query.
     */
    databaseNameLike?: string;
    /**
     * Specifies the database engine. The supported engines are as follows, not case-sensitive:
     * **postgresql**, **mysql**.
     */
    engine: string;
    /**
     * Specifies the RDS instance IDs.
     */
    instanceIds: string[];
    /**
     * Specifies the instance name, which can be used for fuzzy query.
     */
    instanceNameLike?: string;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the restoration time point. A timestamp in milliseconds is used.
     */
    restoreTime: string;
}
/**
 * A collection of values returned by getRestoredDatabases.
 */
export interface GetRestoredDatabasesResult {
    /**
     * Indicates the maximum number of databases that can be restored for a single instance. If the number
     * of databases queried exceeds this limit, only the databases within this limit are returned to the response.
     */
    readonly databaseLimit: number;
    readonly databaseNameLike?: string;
    readonly engine: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceIds: string[];
    readonly instanceNameLike?: string;
    /**
     * Indicates the instance information.
     */
    readonly instances: outputs.Rds.GetRestoredDatabasesInstance[];
    readonly region: string;
    readonly restoreTime: string;
    /**
     * Indicates the maximum number of tables in all databases that can be restored for a single instance. If
     * the number of tables queried exceeds this limit, only the databases whose total number of tables is within this limit
     * are returned to the response.
     */
    readonly tableLimit: number;
}
export declare function getRestoredDatabasesOutput(args: GetRestoredDatabasesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRestoredDatabasesResult>;
/**
 * A collection of arguments for invoking getRestoredDatabases.
 */
export interface GetRestoredDatabasesOutputArgs {
    /**
     * Specifies the database name, which can be used for fuzzy query.
     */
    databaseNameLike?: pulumi.Input<string>;
    /**
     * Specifies the database engine. The supported engines are as follows, not case-sensitive:
     * **postgresql**, **mysql**.
     */
    engine: pulumi.Input<string>;
    /**
     * Specifies the RDS instance IDs.
     */
    instanceIds: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the instance name, which can be used for fuzzy query.
     */
    instanceNameLike?: pulumi.Input<string>;
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the restoration time point. A timestamp in milliseconds is used.
     */
    restoreTime: pulumi.Input<string>;
}
