import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of RDS PostgreSQL plugins.
 *
 * ## 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 databaseName = config.requireObject("databaseName");
 * const plugins = huaweicloud.Rds.getPgPlugins({
 *     instanceId: instanceId,
 *     databaseName: databaseName,
 * });
 * ```
 */
export declare function getPgPlugins(args: GetPgPluginsArgs, opts?: pulumi.InvokeOptions): Promise<GetPgPluginsResult>;
/**
 * A collection of arguments for invoking getPgPlugins.
 */
export interface GetPgPluginsArgs {
    /**
     * Specifies whether the plugin has been created. Defaults to: **false**.
     */
    created?: boolean;
    /**
     * Specifies the database name of a PostgreSQL instance.
     */
    databaseName: string;
    /**
     * Specifies the ID of a PostgreSQL instance.
     */
    instanceId: string;
    /**
     * Specifies the plugin name.
     */
    name?: string;
    /**
     * Specifies the region in which to query the data source.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the plugin version.
     */
    version?: string;
}
/**
 * A collection of values returned by getPgPlugins.
 */
export interface GetPgPluginsResult {
    /**
     * Indicates whether the plugin has been created.
     */
    readonly created?: boolean;
    readonly databaseName: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceId: string;
    /**
     * Indicates the plugin name.
     */
    readonly name?: string;
    /**
     * Indicates the plugin list.
     * The plugins structure is documented below.
     */
    readonly plugins: outputs.Rds.GetPgPluginsPlugin[];
    readonly region: string;
    /**
     * Indicates the plugin version.
     */
    readonly version?: string;
}
export declare function getPgPluginsOutput(args: GetPgPluginsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetPgPluginsResult>;
/**
 * A collection of arguments for invoking getPgPlugins.
 */
export interface GetPgPluginsOutputArgs {
    /**
     * Specifies whether the plugin has been created. Defaults to: **false**.
     */
    created?: pulumi.Input<boolean>;
    /**
     * Specifies the database name of a PostgreSQL instance.
     */
    databaseName: pulumi.Input<string>;
    /**
     * Specifies the ID of a PostgreSQL instance.
     */
    instanceId: pulumi.Input<string>;
    /**
     * Specifies the plugin name.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the region in which to query the data source.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the plugin version.
     */
    version?: pulumi.Input<string>;
}
