import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class Schedule {
    ScheduleExpression?: Value<string>;
    constructor(properties: Schedule);
}
export declare class DynamoDBTarget {
    Path?: Value<string>;
    constructor(properties: DynamoDBTarget);
}
export declare class SchemaChangePolicy {
    UpdateBehavior?: Value<string>;
    DeleteBehavior?: Value<string>;
    constructor(properties: SchemaChangePolicy);
}
export declare class Targets {
    S3Targets?: List<S3Target>;
    CatalogTargets?: List<CatalogTarget>;
    JdbcTargets?: List<JdbcTarget>;
    DynamoDBTargets?: List<DynamoDBTarget>;
    constructor(properties: Targets);
}
export declare class JdbcTarget {
    ConnectionName?: Value<string>;
    Path?: Value<string>;
    Exclusions?: List<Value<string>>;
    constructor(properties: JdbcTarget);
}
export declare class S3Target {
    Path?: Value<string>;
    Exclusions?: List<Value<string>>;
    constructor(properties: S3Target);
}
export declare class CatalogTarget {
    DatabaseName?: Value<string>;
    Tables?: List<Value<string>>;
    constructor(properties: CatalogTarget);
}
export interface CrawlerProperties {
    TablePrefix?: Value<string>;
    Targets: Targets;
    CrawlerSecurityConfiguration?: Value<string>;
    SchemaChangePolicy?: SchemaChangePolicy;
    DatabaseName?: Value<string>;
    Name?: Value<string>;
    Classifiers?: List<Value<string>>;
    Role: Value<string>;
    Configuration?: Value<string>;
    Schedule?: Schedule;
    Tags?: MapOf<any>;
    Description?: Value<string>;
}
export default class Inner_Crawler extends ResourceBase<CrawlerProperties> {
    static Schedule: typeof Schedule;
    static DynamoDBTarget: typeof DynamoDBTarget;
    static SchemaChangePolicy: typeof SchemaChangePolicy;
    static Targets: typeof Targets;
    static JdbcTarget: typeof JdbcTarget;
    static S3Target: typeof S3Target;
    static CatalogTarget: typeof CatalogTarget;
    constructor(properties: CrawlerProperties);
}
