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 Sensitive Data Model Referential Relations in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of referential relations present in the specified sensitive data model based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSensitiveDataModelReferentialRelations = oci.datasafe.getSensitiveDataModelReferentialRelations({
 *     sensitiveDataModelId: testSensitiveDataModel.id,
 *     columnNames: sensitiveDataModelReferentialRelationColumnName,
 *     isSensitive: sensitiveDataModelReferentialRelationIsSensitive === "true",
 *     objects: sensitiveDataModelReferentialRelationObject,
 *     relationTypes: sensitiveDataModelReferentialRelationRelationType,
 *     schemaNames: sensitiveDataModelReferentialRelationSchemaName,
 * });
 * ```
 */
export declare function getSensitiveDataModelReferentialRelations(args: GetSensitiveDataModelReferentialRelationsArgs, opts?: pulumi.InvokeOptions): Promise<GetSensitiveDataModelReferentialRelationsResult>;
/**
 * A collection of arguments for invoking getSensitiveDataModelReferentialRelations.
 */
export interface GetSensitiveDataModelReferentialRelationsArgs {
    /**
     * A filter to return only a specific column based on column name.
     */
    columnNames?: string[];
    filters?: inputs.DataSafe.GetSensitiveDataModelReferentialRelationsFilter[];
    /**
     * Returns referential relations containing sensitive columns when true. Returns referential relations containing non sensitive columns when false.
     */
    isSensitive?: boolean;
    /**
     * A filter to return only items related to a specific object name.
     */
    objects?: string[];
    /**
     * A filter to return sensitive columns based on their relationship with their parent columns. If set to NONE, it returns the sensitive 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[];
    /**
     * The OCID of the sensitive data model.
     */
    sensitiveDataModelId: string;
}
/**
 * A collection of values returned by getSensitiveDataModelReferentialRelations.
 */
export interface GetSensitiveDataModelReferentialRelationsResult {
    readonly columnNames?: string[];
    readonly filters?: outputs.DataSafe.GetSensitiveDataModelReferentialRelationsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Determines if the columns present in the referential relation is present in the sensitive data model
     */
    readonly isSensitive?: boolean;
    /**
     * The database object that contains the columns.
     */
    readonly objects?: string[];
    /**
     * The list of referential_relation_collection.
     */
    readonly referentialRelationCollections: outputs.DataSafe.GetSensitiveDataModelReferentialRelationsReferentialRelationCollection[];
    /**
     * The type of referential relationship the sensitive column has with its parent. NONE indicates that the sensitive column does not have a 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 schema name.
     */
    readonly schemaNames?: string[];
    /**
     * The OCID of the sensitive data model that contains the sensitive column.
     */
    readonly sensitiveDataModelId: string;
}
/**
 * This data source provides the list of Sensitive Data Model Referential Relations in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of referential relations present in the specified sensitive data model based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSensitiveDataModelReferentialRelations = oci.datasafe.getSensitiveDataModelReferentialRelations({
 *     sensitiveDataModelId: testSensitiveDataModel.id,
 *     columnNames: sensitiveDataModelReferentialRelationColumnName,
 *     isSensitive: sensitiveDataModelReferentialRelationIsSensitive === "true",
 *     objects: sensitiveDataModelReferentialRelationObject,
 *     relationTypes: sensitiveDataModelReferentialRelationRelationType,
 *     schemaNames: sensitiveDataModelReferentialRelationSchemaName,
 * });
 * ```
 */
export declare function getSensitiveDataModelReferentialRelationsOutput(args: GetSensitiveDataModelReferentialRelationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSensitiveDataModelReferentialRelationsResult>;
/**
 * A collection of arguments for invoking getSensitiveDataModelReferentialRelations.
 */
export interface GetSensitiveDataModelReferentialRelationsOutputArgs {
    /**
     * 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.GetSensitiveDataModelReferentialRelationsFilterArgs>[] | undefined>;
    /**
     * Returns referential relations containing sensitive columns when true. Returns referential relations containing non sensitive columns when false.
     */
    isSensitive?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only items related to a specific object name.
     */
    objects?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return sensitive columns based on their relationship with their parent columns. If set to NONE, it returns the sensitive 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>;
    /**
     * The OCID of the sensitive data model.
     */
    sensitiveDataModelId: pulumi.Input<string>;
}
//# sourceMappingURL=getSensitiveDataModelReferentialRelations.d.ts.map