import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of rds postgresql instance price details
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const example = volcengine.rds_postgresql.getInstancePriceDetails({
 *     chargeInfo: {
 *         chargeType: "PrePaid",
 *         number: 4,
 *         period: 2,
 *         periodUnit: "Month",
 *     },
 *     nodeInfos: [
 *         {
 *             nodeOperateType: "Create",
 *             nodeSpec: "rds.postgres.1c2g",
 *             nodeType: "Primary",
 *             zoneId: "cn-beijing-a",
 *         },
 *         {
 *             nodeOperateType: "Create",
 *             nodeSpec: "rds.postgres.1c2g",
 *             nodeType: "Secondary",
 *             zoneId: "cn-beijing-a",
 *         },
 *         {
 *             nodeOperateType: "Create",
 *             nodeSpec: "rds.postgres.2c8g",
 *             nodeType: "ReadOnly",
 *             zoneId: "cn-beijing-a",
 *         },
 *     ],
 *     storageSpace: 100,
 *     storageType: "LocalSSD",
 * });
 * ```
 */
export declare function getInstancePriceDetails(args: GetInstancePriceDetailsArgs, opts?: pulumi.InvokeOptions): Promise<GetInstancePriceDetailsResult>;
/**
 * A collection of arguments for invoking getInstancePriceDetails.
 */
export interface GetInstancePriceDetailsArgs {
    /**
     * The charge information of the instance.
     */
    chargeInfo: inputs.rds_postgresql.GetInstancePriceDetailsChargeInfo;
    /**
     * Instance specification configuration. An instance must have only one primary node, only one secondary node, and 0~10 read-only nodes.
     */
    nodeInfos: inputs.rds_postgresql.GetInstancePriceDetailsNodeInfo[];
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * The storage space of the instance. Value range: [20, 3000], unit: GB, step 10GB.
     */
    storageSpace: number;
    /**
     * The type of the storage. Valid values: LocalSSD.
     */
    storageType: string;
}
/**
 * A collection of values returned by getInstancePriceDetails.
 */
export interface GetInstancePriceDetailsResult {
    readonly chargeInfo: outputs.rds_postgresql.GetInstancePriceDetailsChargeInfo;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The collection of query.
     */
    readonly instancesPrices: outputs.rds_postgresql.GetInstancePriceDetailsInstancesPrice[];
    readonly nodeInfos: outputs.rds_postgresql.GetInstancePriceDetailsNodeInfo[];
    readonly outputFile?: string;
    readonly storageSpace: number;
    readonly storageType: string;
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of rds postgresql instance price details
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const example = volcengine.rds_postgresql.getInstancePriceDetails({
 *     chargeInfo: {
 *         chargeType: "PrePaid",
 *         number: 4,
 *         period: 2,
 *         periodUnit: "Month",
 *     },
 *     nodeInfos: [
 *         {
 *             nodeOperateType: "Create",
 *             nodeSpec: "rds.postgres.1c2g",
 *             nodeType: "Primary",
 *             zoneId: "cn-beijing-a",
 *         },
 *         {
 *             nodeOperateType: "Create",
 *             nodeSpec: "rds.postgres.1c2g",
 *             nodeType: "Secondary",
 *             zoneId: "cn-beijing-a",
 *         },
 *         {
 *             nodeOperateType: "Create",
 *             nodeSpec: "rds.postgres.2c8g",
 *             nodeType: "ReadOnly",
 *             zoneId: "cn-beijing-a",
 *         },
 *     ],
 *     storageSpace: 100,
 *     storageType: "LocalSSD",
 * });
 * ```
 */
export declare function getInstancePriceDetailsOutput(args: GetInstancePriceDetailsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetInstancePriceDetailsResult>;
/**
 * A collection of arguments for invoking getInstancePriceDetails.
 */
export interface GetInstancePriceDetailsOutputArgs {
    /**
     * The charge information of the instance.
     */
    chargeInfo: pulumi.Input<inputs.rds_postgresql.GetInstancePriceDetailsChargeInfoArgs>;
    /**
     * Instance specification configuration. An instance must have only one primary node, only one secondary node, and 0~10 read-only nodes.
     */
    nodeInfos: pulumi.Input<pulumi.Input<inputs.rds_postgresql.GetInstancePriceDetailsNodeInfoArgs>[]>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * The storage space of the instance. Value range: [20, 3000], unit: GB, step 10GB.
     */
    storageSpace: pulumi.Input<number>;
    /**
     * The type of the storage. Valid values: LocalSSD.
     */
    storageType: pulumi.Input<string>;
}
