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 Masking Policy Referential Relations in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of referential relations present in the specified masking policy based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMaskingPolicyReferentialRelations = oci.datasafe.getMaskingPolicyReferentialRelations({
 *     maskingPolicyId: testMaskingPolicy.id,
 *     columnNames: maskingPolicyReferentialRelationColumnName,
 *     objects: maskingPolicyReferentialRelationObject,
 *     relationTypes: maskingPolicyReferentialRelationRelationType,
 *     schemaNames: maskingPolicyReferentialRelationSchemaName,
 * });
 * ```
 */
export declare function getMaskingPolicyReferentialRelations(args: GetMaskingPolicyReferentialRelationsArgs, opts?: pulumi.InvokeOptions): Promise<GetMaskingPolicyReferentialRelationsResult>;
/**
 * A collection of arguments for invoking getMaskingPolicyReferentialRelations.
 */
export interface GetMaskingPolicyReferentialRelationsArgs {
    /**
     * A filter to return only a specific column based on column name.
     */
    columnNames?: string[];
    filters?: inputs.DataSafe.GetMaskingPolicyReferentialRelationsFilter[];
    /**
     * The OCID of the masking policy.
     */
    maskingPolicyId: string;
    /**
     * A filter to return only items related to a specific object name.
     */
    objects?: string[];
    /**
     * A filter to return columns based on their relationship with their parent columns. If set to NONE, it returns the columns that do not have any parent. The response includes the parent columns as well as the independent columns that are not in any relationship. If set to APP_DEFINED, it returns all the child columns that have application-level (non-dictionary) relationship with their parents. If set to DB_DEFINED, it returns all the child columns that have database-level (dictionary-defined) relationship with their parents.
     */
    relationTypes?: string[];
    /**
     * A filter to return only items related to specific schema name.
     */
    schemaNames?: string[];
}
/**
 * A collection of values returned by getMaskingPolicyReferentialRelations.
 */
export interface GetMaskingPolicyReferentialRelationsResult {
    readonly columnNames?: string[];
    readonly filters?: outputs.DataSafe.GetMaskingPolicyReferentialRelationsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The OCID of the masking policy that contains the column.
     */
    readonly maskingPolicyId: string;
    /**
     * The list of masking_policy_referential_relation_collection.
     */
    readonly maskingPolicyReferentialRelationCollections: outputs.DataSafe.GetMaskingPolicyReferentialRelationsMaskingPolicyReferentialRelationCollection[];
    /**
     * The name of the object (table or editioning view) that contains the database column(s).
     */
    readonly objects?: string[];
    /**
     * The type of referential relationship the column has with its parent. DB_DEFINED indicates that the relationship is defined in the database dictionary. APP_DEFINED indicates that the relationship is defined at the application level and not in the database dictionary.
     */
    readonly relationTypes?: string[];
    /**
     * The name of the schema that contains the database column(s).
     */
    readonly schemaNames?: string[];
}
/**
 * This data source provides the list of Masking Policy Referential Relations in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of referential relations present in the specified masking policy based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMaskingPolicyReferentialRelations = oci.datasafe.getMaskingPolicyReferentialRelations({
 *     maskingPolicyId: testMaskingPolicy.id,
 *     columnNames: maskingPolicyReferentialRelationColumnName,
 *     objects: maskingPolicyReferentialRelationObject,
 *     relationTypes: maskingPolicyReferentialRelationRelationType,
 *     schemaNames: maskingPolicyReferentialRelationSchemaName,
 * });
 * ```
 */
export declare function getMaskingPolicyReferentialRelationsOutput(args: GetMaskingPolicyReferentialRelationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetMaskingPolicyReferentialRelationsResult>;
/**
 * A collection of arguments for invoking getMaskingPolicyReferentialRelations.
 */
export interface GetMaskingPolicyReferentialRelationsOutputArgs {
    /**
     * A filter to return only a specific column based on column name.
     */
    columnNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetMaskingPolicyReferentialRelationsFilterArgs>[] | undefined>;
    /**
     * The OCID of the masking policy.
     */
    maskingPolicyId: pulumi.Input<string>;
    /**
     * A filter to return only items related to a specific object name.
     */
    objects?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return columns based on their relationship with their parent columns. If set to NONE, it returns the columns that do not have any parent. The response includes the parent columns as well as the independent columns that are not in any relationship. If set to APP_DEFINED, it returns all the child columns that have application-level (non-dictionary) relationship with their parents. If set to DB_DEFINED, it returns all the child columns that have database-level (dictionary-defined) relationship with their parents.
     */
    relationTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only items related to specific schema name.
     */
    schemaNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=getMaskingPolicyReferentialRelations.d.ts.map