import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Dr Protection Groups in Oracle Cloud Infrastructure Disaster Recovery service.
 *
 * Get a summary list of all DR protection groups in a compartment.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testDrProtectionGroups = oci.disasterrecovery.getDrProtectionGroups({
 *     compartmentId: compartmentId,
 *     displayName: drProtectionGroupDisplayName,
 *     drProtectionGroupId: testDrProtectionGroup.id,
 *     lifecycleSubState: drProtectionGroupLifecycleSubState,
 *     role: drProtectionGroupRole,
 *     state: drProtectionGroupState,
 * });
 * ```
 */
export declare function getDrProtectionGroups(args: GetDrProtectionGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetDrProtectionGroupsResult>;
/**
 * A collection of arguments for invoking getDrProtectionGroups.
 */
export interface GetDrProtectionGroupsArgs {
    /**
     * The ID (OCID) of the compartment in which to list resources.  Example: `ocid1.compartment.oc1..uniqueID`
     */
    compartmentId: string;
    /**
     * A filter to return only resources that match the given display name.  Example: `MyResourceDisplayName`
     */
    displayName?: string;
    /**
     * The OCID of the DR protection group. Optional query param.  Example: `ocid1.drprotectiongroup.oc1..uniqueID`
     */
    drProtectionGroupId?: string;
    filters?: inputs.DisasterRecovery.GetDrProtectionGroupsFilter[];
    /**
     * A filter to return only DR protection groups that match the given lifecycle sub-state.
     */
    lifecycleSubState?: string;
    /**
     * The DR protection group Role.
     */
    role?: string;
    /**
     * A filter to return only DR protection groups that match the given lifecycle state.
     */
    state?: string;
}
/**
 * A collection of values returned by getDrProtectionGroups.
 */
export interface GetDrProtectionGroupsResult {
    /**
     * The OCID of the compartment containing the DR protection group.  Example: `ocid1.compartment.oc1..uniqueID`
     */
    readonly compartmentId: string;
    /**
     * The display name of the DR protection group.  Example: `EBS PHX Group`
     */
    readonly displayName?: string;
    /**
     * The list of dr_protection_group_collection.
     */
    readonly drProtectionGroupCollections: outputs.DisasterRecovery.GetDrProtectionGroupsDrProtectionGroupCollection[];
    readonly drProtectionGroupId?: string;
    readonly filters?: outputs.DisasterRecovery.GetDrProtectionGroupsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The current sub-state of the DR protection group.
     */
    readonly lifecycleSubState?: string;
    /**
     * The role of the DR protection group.
     */
    readonly role?: string;
    /**
     * The current state of the DR protection group.
     */
    readonly state?: string;
}
/**
 * This data source provides the list of Dr Protection Groups in Oracle Cloud Infrastructure Disaster Recovery service.
 *
 * Get a summary list of all DR protection groups in a compartment.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testDrProtectionGroups = oci.disasterrecovery.getDrProtectionGroups({
 *     compartmentId: compartmentId,
 *     displayName: drProtectionGroupDisplayName,
 *     drProtectionGroupId: testDrProtectionGroup.id,
 *     lifecycleSubState: drProtectionGroupLifecycleSubState,
 *     role: drProtectionGroupRole,
 *     state: drProtectionGroupState,
 * });
 * ```
 */
export declare function getDrProtectionGroupsOutput(args: GetDrProtectionGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDrProtectionGroupsResult>;
/**
 * A collection of arguments for invoking getDrProtectionGroups.
 */
export interface GetDrProtectionGroupsOutputArgs {
    /**
     * The ID (OCID) of the compartment in which to list resources.  Example: `ocid1.compartment.oc1..uniqueID`
     */
    compartmentId: pulumi.Input<string>;
    /**
     * A filter to return only resources that match the given display name.  Example: `MyResourceDisplayName`
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the DR protection group. Optional query param.  Example: `ocid1.drprotectiongroup.oc1..uniqueID`
     */
    drProtectionGroupId?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DisasterRecovery.GetDrProtectionGroupsFilterArgs>[] | undefined>;
    /**
     * A filter to return only DR protection groups that match the given lifecycle sub-state.
     */
    lifecycleSubState?: pulumi.Input<string | undefined>;
    /**
     * The DR protection group Role.
     */
    role?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only DR protection groups that match the given lifecycle state.
     */
    state?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getDrProtectionGroups.d.ts.map