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 Target Databases Columns in Oracle Cloud Infrastructure Data Safe service.
 *
 * Returns a list of column metadata objects.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testTargetDatabasesColumns = oci.datasafe.getTargetDatabasesColumns({
 *     targetDatabaseId: testTargetDatabase.id,
 *     columnNames: targetDatabasesColumnColumnName,
 *     columnNameContains: targetDatabasesColumnColumnNameContains,
 *     datatypes: targetDatabasesColumnDatatype,
 *     schemaNames: targetDatabasesColumnSchemaName,
 *     schemaNameContains: targetDatabasesColumnSchemaNameContains,
 *     tableNames: testTable.name,
 *     tableNameContains: targetDatabasesColumnTableNameContains,
 * });
 * ```
 */
export declare function getTargetDatabasesColumns(args: GetTargetDatabasesColumnsArgs, opts?: pulumi.InvokeOptions): Promise<GetTargetDatabasesColumnsResult>;
/**
 * A collection of arguments for invoking getTargetDatabasesColumns.
 */
export interface GetTargetDatabasesColumnsArgs {
    /**
     * A filter to return only items if column name contains a specific string.
     */
    columnNameContains?: string;
    /**
     * A filter to return only a specific column based on column name.
     */
    columnNames?: string[];
    /**
     * A filter to return only items related to specific datatype.
     */
    datatypes?: string[];
    filters?: inputs.DataSafe.GetTargetDatabasesColumnsFilter[];
    /**
     * A filter to return only items if schema name contains a specific string.
     */
    schemaNameContains?: string;
    /**
     * A filter to return only items related to specific schema name.
     */
    schemaNames?: string[];
    /**
     * A filter to return only items if table name contains a specific string.
     */
    tableNameContains?: string;
    /**
     * A filter to return only items related to specific table name.
     */
    tableNames?: string[];
    /**
     * The OCID of the Data Safe target database.
     */
    targetDatabaseId: string;
}
/**
 * A collection of values returned by getTargetDatabasesColumns.
 */
export interface GetTargetDatabasesColumnsResult {
    readonly columnNameContains?: string;
    /**
     * Name of the column.
     */
    readonly columnNames?: string[];
    /**
     * The list of columns.
     */
    readonly columns: outputs.DataSafe.GetTargetDatabasesColumnsColumn[];
    readonly datatypes?: string[];
    readonly filters?: outputs.DataSafe.GetTargetDatabasesColumnsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly schemaNameContains?: string;
    /**
     * Name of the schema.
     */
    readonly schemaNames?: string[];
    readonly tableNameContains?: string;
    /**
     * Name of the table.
     */
    readonly tableNames?: string[];
    readonly targetDatabaseId: string;
}
/**
 * This data source provides the list of Target Databases Columns in Oracle Cloud Infrastructure Data Safe service.
 *
 * Returns a list of column metadata objects.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testTargetDatabasesColumns = oci.datasafe.getTargetDatabasesColumns({
 *     targetDatabaseId: testTargetDatabase.id,
 *     columnNames: targetDatabasesColumnColumnName,
 *     columnNameContains: targetDatabasesColumnColumnNameContains,
 *     datatypes: targetDatabasesColumnDatatype,
 *     schemaNames: targetDatabasesColumnSchemaName,
 *     schemaNameContains: targetDatabasesColumnSchemaNameContains,
 *     tableNames: testTable.name,
 *     tableNameContains: targetDatabasesColumnTableNameContains,
 * });
 * ```
 */
export declare function getTargetDatabasesColumnsOutput(args: GetTargetDatabasesColumnsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTargetDatabasesColumnsResult>;
/**
 * A collection of arguments for invoking getTargetDatabasesColumns.
 */
export interface GetTargetDatabasesColumnsOutputArgs {
    /**
     * A filter to return only items if column name contains a specific string.
     */
    columnNameContains?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only a specific column based on column name.
     */
    columnNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only items related to specific datatype.
     */
    datatypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetTargetDatabasesColumnsFilterArgs>[] | undefined>;
    /**
     * A filter to return only items if schema name contains a specific string.
     */
    schemaNameContains?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only items related to specific schema name.
     */
    schemaNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only items if table name contains a specific string.
     */
    tableNameContains?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only items related to specific table name.
     */
    tableNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The OCID of the Data Safe target database.
     */
    targetDatabaseId: pulumi.Input<string>;
}
//# sourceMappingURL=getTargetDatabasesColumns.d.ts.map