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 Sdm Masking Policy Differences in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of SDM and masking policy difference resources based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSdmMaskingPolicyDifferences = oci.datasafe.getSdmMaskingPolicyDifferences({
 *     compartmentId: compartmentId,
 *     compartmentIdInSubtree: sdmMaskingPolicyDifferenceCompartmentIdInSubtree === "true",
 *     differenceAccessLevel: sdmMaskingPolicyDifferenceDifferenceAccessLevel,
 *     displayName: sdmMaskingPolicyDifferenceDisplayName,
 *     maskingPolicyId: testMaskingPolicy.id,
 *     sensitiveDataModelId: testSensitiveDataModel.id,
 *     state: sdmMaskingPolicyDifferenceState,
 * });
 * ```
 */
export declare function getSdmMaskingPolicyDifferences(args: GetSdmMaskingPolicyDifferencesArgs, opts?: pulumi.InvokeOptions): Promise<GetSdmMaskingPolicyDifferencesResult>;
/**
 * A collection of arguments for invoking getSdmMaskingPolicyDifferences.
 */
export interface GetSdmMaskingPolicyDifferencesArgs {
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: string;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: boolean;
    /**
     * Valid value is ACCESSIBLE. Default is ACCESSIBLE. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment).
     */
    differenceAccessLevel?: string;
    /**
     * A filter to return only resources that match the specified display name.
     */
    displayName?: string;
    filters?: inputs.DataSafe.GetSdmMaskingPolicyDifferencesFilter[];
    /**
     * A filter to return only the resources that match the specified masking policy OCID.
     */
    maskingPolicyId?: string;
    /**
     * A filter to return only the resources that match the specified sensitive data model OCID.
     */
    sensitiveDataModelId?: string;
    /**
     * A filter to return only the resources that match the specified lifecycle states.
     */
    state?: string;
}
/**
 * A collection of values returned by getSdmMaskingPolicyDifferences.
 */
export interface GetSdmMaskingPolicyDifferencesResult {
    /**
     * The OCID of the compartment that contains the Sensitive data model and masking policy difference resource.
     */
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    readonly differenceAccessLevel?: string;
    /**
     * The display name of the SDM masking policy difference.
     */
    readonly displayName?: string;
    readonly filters?: outputs.DataSafe.GetSdmMaskingPolicyDifferencesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The OCID of the masking policy associated with the SDM masking policy difference.
     */
    readonly maskingPolicyId?: string;
    /**
     * The list of sdm_masking_policy_difference_collection.
     */
    readonly sdmMaskingPolicyDifferenceCollections: outputs.DataSafe.GetSdmMaskingPolicyDifferencesSdmMaskingPolicyDifferenceCollection[];
    /**
     * The OCID of the sensitive data model associated with the SDM masking policy difference.
     */
    readonly sensitiveDataModelId?: string;
    /**
     * The current state of the SDM masking policy difference.
     */
    readonly state?: string;
}
/**
 * This data source provides the list of Sdm Masking Policy Differences in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of SDM and masking policy difference resources based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSdmMaskingPolicyDifferences = oci.datasafe.getSdmMaskingPolicyDifferences({
 *     compartmentId: compartmentId,
 *     compartmentIdInSubtree: sdmMaskingPolicyDifferenceCompartmentIdInSubtree === "true",
 *     differenceAccessLevel: sdmMaskingPolicyDifferenceDifferenceAccessLevel,
 *     displayName: sdmMaskingPolicyDifferenceDisplayName,
 *     maskingPolicyId: testMaskingPolicy.id,
 *     sensitiveDataModelId: testSensitiveDataModel.id,
 *     state: sdmMaskingPolicyDifferenceState,
 * });
 * ```
 */
export declare function getSdmMaskingPolicyDifferencesOutput(args: GetSdmMaskingPolicyDifferencesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSdmMaskingPolicyDifferencesResult>;
/**
 * A collection of arguments for invoking getSdmMaskingPolicyDifferences.
 */
export interface GetSdmMaskingPolicyDifferencesOutputArgs {
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: pulumi.Input<boolean | undefined>;
    /**
     * Valid value is ACCESSIBLE. Default is ACCESSIBLE. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment).
     */
    differenceAccessLevel?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only resources that match the specified display name.
     */
    displayName?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetSdmMaskingPolicyDifferencesFilterArgs>[] | undefined>;
    /**
     * A filter to return only the resources that match the specified masking policy OCID.
     */
    maskingPolicyId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the resources that match the specified sensitive data model OCID.
     */
    sensitiveDataModelId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the resources that match the specified lifecycle states.
     */
    state?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getSdmMaskingPolicyDifferences.d.ts.map