import * as core from "@terrascript/core";
export interface ConditionOnValueArgs extends core.SchemaArgs {
    dateValue?: string | core.StringOut;
    longValue?: number | core.NumberOut;
    stringListValue?: core.Array<string> | core.ArrayOut<core.StringOut>;
    stringValue?: string | core.StringOut;
}
export declare class ConditionOnValue extends core.Schema<ConditionOnValueArgs> {
    dateValue?: string | core.StringOut;
    longValue?: number | core.NumberOut;
    stringListValue?: core.Array<string> | core.ArrayOut<core.StringOut>;
    stringValue?: string | core.StringOut;
}
export interface InvocationConditionArgs extends core.SchemaArgs {
    conditionDocumentAttributeKey: string | core.StringOut;
    conditionOnValue?: ConditionOnValue;
    operator: string | core.StringOut;
}
export declare class InvocationCondition extends core.Schema<InvocationConditionArgs> {
    conditionDocumentAttributeKey: string | core.StringOut;
    conditionOnValue?: ConditionOnValue;
    operator: string | core.StringOut;
}
export interface PostExtractionHookConfigurationArgs extends core.SchemaArgs {
    invocationCondition?: InvocationCondition;
    lambdaArn: string | core.StringOut;
    s3Bucket: string | core.StringOut;
}
export declare class PostExtractionHookConfiguration extends core.Schema<PostExtractionHookConfigurationArgs> {
    invocationCondition?: InvocationCondition;
    lambdaArn: string | core.StringOut;
    s3Bucket: string | core.StringOut;
}
export interface PreExtractionHookConfigurationArgs extends core.SchemaArgs {
    invocationCondition?: InvocationCondition;
    lambdaArn: string | core.StringOut;
    s3Bucket: string | core.StringOut;
}
export declare class PreExtractionHookConfiguration extends core.Schema<PreExtractionHookConfigurationArgs> {
    invocationCondition?: InvocationCondition;
    lambdaArn: string | core.StringOut;
    s3Bucket: string | core.StringOut;
}
export interface TargetDocumentAttributeValueArgs extends core.SchemaArgs {
    dateValue?: string | core.StringOut;
    longValue?: number | core.NumberOut;
    stringListValue?: core.Array<string> | core.ArrayOut<core.StringOut>;
    stringValue?: string | core.StringOut;
}
export declare class TargetDocumentAttributeValue extends core.Schema<TargetDocumentAttributeValueArgs> {
    dateValue?: string | core.StringOut;
    longValue?: number | core.NumberOut;
    stringListValue?: core.Array<string> | core.ArrayOut<core.StringOut>;
    stringValue?: string | core.StringOut;
}
export interface TargetArgs extends core.SchemaArgs {
    targetDocumentAttributeKey?: string | core.StringOut;
    targetDocumentAttributeValue?: TargetDocumentAttributeValue;
    targetDocumentAttributeValueDeletion?: boolean | core.BooleanOut;
}
export declare class Target extends core.Schema<TargetArgs> {
    targetDocumentAttributeKey?: string | core.StringOut;
    targetDocumentAttributeValue?: TargetDocumentAttributeValue;
    targetDocumentAttributeValueDeletion?: boolean | core.BooleanOut;
}
export interface ConditionArgs extends core.SchemaArgs {
    conditionDocumentAttributeKey: string | core.StringOut;
    conditionOnValue?: ConditionOnValue;
    operator: string | core.StringOut;
}
export declare class Condition extends core.Schema<ConditionArgs> {
    conditionDocumentAttributeKey: string | core.StringOut;
    conditionOnValue?: ConditionOnValue;
    operator: string | core.StringOut;
}
export interface InlineConfigurationsArgs extends core.SchemaArgs {
    condition?: Condition;
    documentContentDeletion?: boolean | core.BooleanOut;
    target?: Target;
}
export declare class InlineConfigurations extends core.Schema<InlineConfigurationsArgs> {
    condition?: Condition;
    documentContentDeletion?: boolean | core.BooleanOut;
    target?: Target;
}
export interface CustomDocumentEnrichmentConfigurationArgs extends core.SchemaArgs {
    inlineConfigurations?: core.Array<InlineConfigurations> | core.ArrayOut<InlineConfigurations>;
    postExtractionHookConfiguration?: PostExtractionHookConfiguration;
    preExtractionHookConfiguration?: PreExtractionHookConfiguration;
    roleArn?: string | core.StringOut;
}
export declare class CustomDocumentEnrichmentConfiguration extends core.Schema<CustomDocumentEnrichmentConfigurationArgs> {
    inlineConfigurations?: core.Array<InlineConfigurations> | core.ArrayOut<InlineConfigurations>;
    postExtractionHookConfiguration?: PostExtractionHookConfiguration;
    preExtractionHookConfiguration?: PreExtractionHookConfiguration;
    roleArn?: string | core.StringOut;
}
export interface AccessControlListConfigurationArgs extends core.SchemaArgs {
    keyPath?: string | core.StringOut;
}
export declare class AccessControlListConfiguration extends core.Schema<AccessControlListConfigurationArgs> {
    keyPath?: string | core.StringOut;
}
export interface DocumentsMetadataConfigurationArgs extends core.SchemaArgs {
    s3Prefix?: string | core.StringOut;
}
export declare class DocumentsMetadataConfiguration extends core.Schema<DocumentsMetadataConfigurationArgs> {
    s3Prefix?: string | core.StringOut;
}
export interface S3ConfigurationArgs extends core.SchemaArgs {
    accessControlListConfiguration?: AccessControlListConfiguration;
    bucketName: string | core.StringOut;
    documentsMetadataConfiguration?: DocumentsMetadataConfiguration;
    exclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    inclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    inclusionPrefixes?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class S3Configuration extends core.Schema<S3ConfigurationArgs> {
    accessControlListConfiguration?: AccessControlListConfiguration;
    bucketName: string | core.StringOut;
    documentsMetadataConfiguration?: DocumentsMetadataConfiguration;
    exclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    inclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    inclusionPrefixes?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface SeedUrlConfigurationArgs extends core.SchemaArgs {
    seedUrls: core.Array<string> | core.ArrayOut<core.StringOut>;
    webCrawlerMode?: string | core.StringOut;
}
export declare class SeedUrlConfiguration extends core.Schema<SeedUrlConfigurationArgs> {
    seedUrls: core.Array<string> | core.ArrayOut<core.StringOut>;
    webCrawlerMode?: string | core.StringOut;
}
export interface SiteMapsConfigurationArgs extends core.SchemaArgs {
    siteMaps: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class SiteMapsConfiguration extends core.Schema<SiteMapsConfigurationArgs> {
    siteMaps: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface UrlsArgs extends core.SchemaArgs {
    seedUrlConfiguration?: SeedUrlConfiguration;
    siteMapsConfiguration?: SiteMapsConfiguration;
}
export declare class Urls extends core.Schema<UrlsArgs> {
    seedUrlConfiguration?: SeedUrlConfiguration;
    siteMapsConfiguration?: SiteMapsConfiguration;
}
export interface BasicAuthenticationArgs extends core.SchemaArgs {
    credentials: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class BasicAuthentication extends core.Schema<BasicAuthenticationArgs> {
    credentials: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface AuthenticationConfigurationArgs extends core.SchemaArgs {
    basicAuthentication?: core.Array<BasicAuthentication> | core.ArrayOut<BasicAuthentication>;
}
export declare class AuthenticationConfiguration extends core.Schema<AuthenticationConfigurationArgs> {
    basicAuthentication?: core.Array<BasicAuthentication> | core.ArrayOut<BasicAuthentication>;
}
export interface ProxyConfigurationArgs extends core.SchemaArgs {
    credentials?: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class ProxyConfiguration extends core.Schema<ProxyConfigurationArgs> {
    credentials?: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface WebCrawlerConfigurationArgs extends core.SchemaArgs {
    authenticationConfiguration?: AuthenticationConfiguration;
    crawlDepth?: number | core.NumberOut;
    maxContentSizePerPageInMegaBytes?: number | core.NumberOut;
    maxLinksPerPage?: number | core.NumberOut;
    maxUrlsPerMinuteCrawlRate?: number | core.NumberOut;
    proxyConfiguration?: ProxyConfiguration;
    urlExclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    urlInclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    urls: Urls;
}
export declare class WebCrawlerConfiguration extends core.Schema<WebCrawlerConfigurationArgs> {
    authenticationConfiguration?: AuthenticationConfiguration;
    crawlDepth?: number | core.NumberOut;
    maxContentSizePerPageInMegaBytes?: number | core.NumberOut;
    maxLinksPerPage?: number | core.NumberOut;
    maxUrlsPerMinuteCrawlRate?: number | core.NumberOut;
    proxyConfiguration?: ProxyConfiguration;
    urlExclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    urlInclusionPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    urls: Urls;
}
export interface ConfigurationArgs extends core.SchemaArgs {
    s3Configuration?: S3Configuration;
    webCrawlerConfiguration?: WebCrawlerConfiguration;
}
export declare class Configuration extends core.Schema<ConfigurationArgs> {
    s3Configuration?: S3Configuration;
    webCrawlerConfiguration?: WebCrawlerConfiguration;
}
export interface DataSourceArgs extends core.ResourceArgs {
    configuration?: Configuration;
    customDocumentEnrichmentConfiguration?: CustomDocumentEnrichmentConfiguration;
    description?: string | core.StringOut;
    indexId: string | core.StringOut;
    languageCode?: string | core.StringOut;
    name: string | core.StringOut;
    roleArn?: string | core.StringOut;
    schedule?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
}
export declare class DataSource extends core.Resource<DataSourceArgs> {
    arn: string | core.StringOut;
    configuration?: Configuration;
    createdAt: string | core.StringOut;
    customDocumentEnrichmentConfiguration?: CustomDocumentEnrichmentConfiguration;
    dataSourceId: string | core.StringOut;
    description?: string | core.StringOut;
    errorMessage: string | core.StringOut;
    id: string | core.StringOut;
    indexId: string | core.StringOut;
    languageCode?: string | core.StringOut;
    name: string | core.StringOut;
    roleArn?: string | core.StringOut;
    schedule?: string | core.StringOut;
    status: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
    updatedAt: string | core.StringOut;
    constructor(name: string, args?: DataSourceArgs);
    getNamespace(): string;
}
//# sourceMappingURL=data_source.d.ts.map