import * as glue from "@aws-cdk/aws-glue-alpha";
import { Construct } from "constructs";
export declare enum GlueJobType {
    PY_SPARK_ETL_JOB = "PySparkEtlJob",
    PYTHON_SHELL_JOB = "PythonShellJob",
    PY_SPARK_STREAMING_JOB = "PySparkStreamingJob",
    PY_SPARK_FLEX_ETL_JOB = "PySparkFlexEtlJob",
    SCALA_SPARK_ETL_JOB = "ScalaSparkEtlJob",
    SCALA_SPARK_FLEX_ETL_JOB = "ScalaSparkFlexEtlJob",
    SCALA_SPARK_STREAMING_JOB = "ScalaSparkStreamingJob"
}
export interface GlueFactoryProps {
    readonly glueJobType: String;
    readonly glueJobProperties: glue.PySparkEtlJobProps | glue.PythonShellJobProps | glue.PySparkStreamingJobProps | glue.PySparkFlexEtlJobProps | glue.ScalaSparkEtlJobProps | glue.ScalaSparkFlexEtlJobProps | glue.ScalaSparkStreamingJobProps;
}
export declare class GlueFactory {
    static job(scope: Construct, id: string, props: GlueFactoryProps): glue.PySparkEtlJob | glue.PythonShellJob | glue.PySparkStreamingJob | glue.PySparkFlexEtlJob | glue.ScalaSparkEtlJob | glue.ScalaSparkFlexEtlJob | glue.ScalaSparkStreamingJob;
}
