import * as core from "@terrascript/core";
export interface S3TargetArgs extends core.SchemaArgs {
    connectionName?: string | core.StringOut;
    dlqEventQueueArn?: string | core.StringOut;
    eventQueueArn?: string | core.StringOut;
    exclusions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    path: string | core.StringOut;
    sampleSize?: number | core.NumberOut;
}
export declare class S3Target extends core.Schema<S3TargetArgs> {
    connectionName?: string | core.StringOut;
    dlqEventQueueArn?: string | core.StringOut;
    eventQueueArn?: string | core.StringOut;
    exclusions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    path: string | core.StringOut;
    sampleSize?: number | core.NumberOut;
}
export interface RecrawlPolicyArgs extends core.SchemaArgs {
    recrawlBehavior?: string | core.StringOut;
}
export declare class RecrawlPolicy extends core.Schema<RecrawlPolicyArgs> {
    recrawlBehavior?: string | core.StringOut;
}
export interface DynamodbTargetArgs extends core.SchemaArgs {
    path: string | core.StringOut;
    scanAll?: boolean | core.BooleanOut;
    scanRate?: number | core.NumberOut;
}
export declare class DynamodbTarget extends core.Schema<DynamodbTargetArgs> {
    path: string | core.StringOut;
    scanAll?: boolean | core.BooleanOut;
    scanRate?: number | core.NumberOut;
}
export interface SchemaChangePolicyArgs extends core.SchemaArgs {
    deleteBehavior?: string | core.StringOut;
    updateBehavior?: string | core.StringOut;
}
export declare class SchemaChangePolicy extends core.Schema<SchemaChangePolicyArgs> {
    deleteBehavior?: string | core.StringOut;
    updateBehavior?: string | core.StringOut;
}
export interface JdbcTargetArgs extends core.SchemaArgs {
    connectionName: string | core.StringOut;
    exclusions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    path: string | core.StringOut;
}
export declare class JdbcTarget extends core.Schema<JdbcTargetArgs> {
    connectionName: string | core.StringOut;
    exclusions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    path: string | core.StringOut;
}
export interface DeltaTargetArgs extends core.SchemaArgs {
    connectionName: string | core.StringOut;
    deltaTables: core.Array<string> | core.ArrayOut<core.StringOut>;
    writeManifest: boolean | core.BooleanOut;
}
export declare class DeltaTarget extends core.Schema<DeltaTargetArgs> {
    connectionName: string | core.StringOut;
    deltaTables: core.Array<string> | core.ArrayOut<core.StringOut>;
    writeManifest: boolean | core.BooleanOut;
}
export interface MongodbTargetArgs extends core.SchemaArgs {
    connectionName: string | core.StringOut;
    path: string | core.StringOut;
    scanAll?: boolean | core.BooleanOut;
}
export declare class MongodbTarget extends core.Schema<MongodbTargetArgs> {
    connectionName: string | core.StringOut;
    path: string | core.StringOut;
    scanAll?: boolean | core.BooleanOut;
}
export interface CatalogTargetArgs extends core.SchemaArgs {
    databaseName: string | core.StringOut;
    tables: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class CatalogTarget extends core.Schema<CatalogTargetArgs> {
    databaseName: string | core.StringOut;
    tables: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface LineageConfigurationArgs extends core.SchemaArgs {
    crawlerLineageSettings?: string | core.StringOut;
}
export declare class LineageConfiguration extends core.Schema<LineageConfigurationArgs> {
    crawlerLineageSettings?: string | core.StringOut;
}
export interface CrawlerArgs extends core.ResourceArgs {
    catalogTarget?: core.Array<CatalogTarget> | core.ArrayOut<CatalogTarget>;
    classifiers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    configuration?: string | core.StringOut;
    databaseName: string | core.StringOut;
    deltaTarget?: core.Array<DeltaTarget> | core.ArrayOut<DeltaTarget>;
    description?: string | core.StringOut;
    dynamodbTarget?: core.Array<DynamodbTarget> | core.ArrayOut<DynamodbTarget>;
    jdbcTarget?: core.Array<JdbcTarget> | core.ArrayOut<JdbcTarget>;
    lineageConfiguration?: LineageConfiguration;
    mongodbTarget?: core.Array<MongodbTarget> | core.ArrayOut<MongodbTarget>;
    name: string | core.StringOut;
    recrawlPolicy?: RecrawlPolicy;
    role: string | core.StringOut;
    s3Target?: core.Array<S3Target> | core.ArrayOut<S3Target>;
    schedule?: string | core.StringOut;
    schemaChangePolicy?: SchemaChangePolicy;
    securityConfiguration?: string | core.StringOut;
    tablePrefix?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Crawler extends core.Resource<CrawlerArgs> {
    arn: string | core.StringOut;
    catalogTarget?: core.Array<CatalogTarget> | core.ArrayOut<CatalogTarget>;
    classifiers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    configuration?: string | core.StringOut;
    databaseName: string | core.StringOut;
    deltaTarget?: core.Array<DeltaTarget> | core.ArrayOut<DeltaTarget>;
    description?: string | core.StringOut;
    dynamodbTarget?: core.Array<DynamodbTarget> | core.ArrayOut<DynamodbTarget>;
    id: string | core.StringOut;
    jdbcTarget?: core.Array<JdbcTarget> | core.ArrayOut<JdbcTarget>;
    lineageConfiguration?: LineageConfiguration;
    mongodbTarget?: core.Array<MongodbTarget> | core.ArrayOut<MongodbTarget>;
    name: string | core.StringOut;
    recrawlPolicy?: RecrawlPolicy;
    role: string | core.StringOut;
    s3Target?: core.Array<S3Target> | core.ArrayOut<S3Target>;
    schedule?: string | core.StringOut;
    schemaChangePolicy?: SchemaChangePolicy;
    securityConfiguration?: string | core.StringOut;
    tablePrefix?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: CrawlerArgs);
    getNamespace(): string;
}
//# sourceMappingURL=crawler.d.ts.map