import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Definition of AWS::Bedrock::DataSource Resource Type
 */
export declare class DataSource extends pulumi.CustomResource {
    /**
     * Get an existing DataSource resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): DataSource;
    /**
     * Returns true if the given object is an instance of DataSource.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is DataSource;
    /**
     * The time at which the data source was created.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * The data deletion policy for the data source.
     */
    readonly dataDeletionPolicy: pulumi.Output<enums.bedrock.DataSourceDataDeletionPolicy | undefined>;
    /**
     * The connection configuration for the data source.
     */
    readonly dataSourceConfiguration: pulumi.Output<outputs.bedrock.DataSourceConfiguration>;
    /**
     * Identifier for a resource.
     */
    readonly dataSourceId: pulumi.Output<string>;
    /**
     * The status of the data source. The following statuses are possible:
     *
     * - Available – The data source has been created and is ready for ingestion into the knowledge base.
     * - Deleting – The data source is being deleted.
     */
    readonly dataSourceStatus: pulumi.Output<enums.bedrock.DataSourceStatus>;
    /**
     * Description of the Resource.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The details of the failure reasons related to the data source.
     */
    readonly failureReasons: pulumi.Output<string[]>;
    /**
     * The unique identifier of the knowledge base to which to add the data source.
     */
    readonly knowledgeBaseId: pulumi.Output<string>;
    /**
     * The name of the data source.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Contains details about the configuration of the server-side encryption.
     */
    readonly serverSideEncryptionConfiguration: pulumi.Output<outputs.bedrock.DataSourceServerSideEncryptionConfiguration | undefined>;
    /**
     * The time at which the knowledge base was last updated.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * Contains details about how to ingest the documents in the data source.
     */
    readonly vectorIngestionConfiguration: pulumi.Output<outputs.bedrock.DataSourceVectorIngestionConfiguration | undefined>;
    /**
     * Create a DataSource resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: DataSourceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a DataSource resource.
 */
export interface DataSourceArgs {
    /**
     * The data deletion policy for the data source.
     */
    dataDeletionPolicy?: pulumi.Input<enums.bedrock.DataSourceDataDeletionPolicy>;
    /**
     * The connection configuration for the data source.
     */
    dataSourceConfiguration: pulumi.Input<inputs.bedrock.DataSourceConfigurationArgs>;
    /**
     * Description of the Resource.
     */
    description?: pulumi.Input<string>;
    /**
     * The unique identifier of the knowledge base to which to add the data source.
     */
    knowledgeBaseId: pulumi.Input<string>;
    /**
     * The name of the data source.
     */
    name?: pulumi.Input<string>;
    /**
     * Contains details about the configuration of the server-side encryption.
     */
    serverSideEncryptionConfiguration?: pulumi.Input<inputs.bedrock.DataSourceServerSideEncryptionConfigurationArgs>;
    /**
     * Contains details about how to ingest the documents in the data source.
     */
    vectorIngestionConfiguration?: pulumi.Input<inputs.bedrock.DataSourceVectorIngestionConfigurationArgs>;
}
