import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of rds postgresql replication slots
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const example = volcengine.rds_postgresql.getReplicationSlots({
 *     instanceId: "postgres-72715e0d9f58",
 *     slotName: "my_standby_slot1",
 *     slotStatus: "INACTIVE",
 *     slotType: "physical",
 * });
 * ```
 */
export declare function getReplicationSlots(args: GetReplicationSlotsArgs, opts?: pulumi.InvokeOptions): Promise<GetReplicationSlotsResult>;
/**
 * A collection of arguments for invoking getReplicationSlots.
 */
export interface GetReplicationSlotsArgs {
    /**
     * The database where the replication slot is located.
     */
    dataBase?: string;
    /**
     * The id of the PostgreSQL instance.
     */
    instanceId: string;
    /**
     * The ip address.
     */
    ipAddress?: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * The name of the plugin used by the logical replication slot to parse WAL logs.
     */
    plugin?: string;
    /**
     * The name of the slot.
     */
    slotName?: string;
    /**
     * The status of the replication slot: ACTIVE or INACTIVE.
     */
    slotStatus?: string;
    /**
     * The type of the slot: physical or logical.
     */
    slotType?: string;
    /**
     * Whether the slot is temporary.
     */
    temporary?: boolean;
}
/**
 * A collection of values returned by getReplicationSlots.
 */
export interface GetReplicationSlotsResult {
    readonly dataBase?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceId: string;
    readonly ipAddress?: string;
    readonly outputFile?: string;
    /**
     * The name of the plugin used by the logical replication slot to parse WAL logs.
     */
    readonly plugin?: string;
    /**
     * Replication slots under the specified query conditions in the instance.
     */
    readonly replicationSlots: outputs.rds_postgresql.GetReplicationSlotsReplicationSlot[];
    /**
     * The name of the slot.
     */
    readonly slotName?: string;
    readonly slotStatus?: string;
    /**
     * The type of the slot: physical or logical.
     */
    readonly slotType?: string;
    readonly temporary?: boolean;
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of rds postgresql replication slots
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const example = volcengine.rds_postgresql.getReplicationSlots({
 *     instanceId: "postgres-72715e0d9f58",
 *     slotName: "my_standby_slot1",
 *     slotStatus: "INACTIVE",
 *     slotType: "physical",
 * });
 * ```
 */
export declare function getReplicationSlotsOutput(args: GetReplicationSlotsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetReplicationSlotsResult>;
/**
 * A collection of arguments for invoking getReplicationSlots.
 */
export interface GetReplicationSlotsOutputArgs {
    /**
     * The database where the replication slot is located.
     */
    dataBase?: pulumi.Input<string>;
    /**
     * The id of the PostgreSQL instance.
     */
    instanceId: pulumi.Input<string>;
    /**
     * The ip address.
     */
    ipAddress?: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * The name of the plugin used by the logical replication slot to parse WAL logs.
     */
    plugin?: pulumi.Input<string>;
    /**
     * The name of the slot.
     */
    slotName?: pulumi.Input<string>;
    /**
     * The status of the replication slot: ACTIVE or INACTIVE.
     */
    slotStatus?: pulumi.Input<string>;
    /**
     * The type of the slot: physical or logical.
     */
    slotType?: pulumi.Input<string>;
    /**
     * Whether the slot is temporary.
     */
    temporary?: pulumi.Input<boolean>;
}
