import { DataBricksBase, ConstructorProps } from './index'; import { ClusterSize, ClusterAttributes } from './clusters'; import { Library } from './libraries'; export declare type NotebookTask = { notebook_path: string; base_parameters?: { [key: string]: string; }; }; export declare type SparkJarTask = { jar_uri: string; main_class_name: string; parameters?: string[]; }; export declare type SparkPythonTask = { python_file: string; parameters?: string[]; }; export declare type SparkSubmitTask = { parameters?: string[]; }; export declare type JobTask = { notebook_task: NotebookTask; } | { spark_jar_task: SparkJarTask; } | { spark_python_task: SparkPythonTask; } | { spark_submit_task: SparkSubmitTask; }; export declare type CronSchedule = { quartz_cron_expression: string; timezone_id: string; }; export declare type NewCluster = Omit; export declare type JobEmailNotifications = { on_start?: string[]; on_success?: string[]; on_failure?: string[]; no_alert_for_skipped_runs?: boolean; }; export declare type Job = { job_id: number; creator_user_name: string; settings: JobSettings; created_time: number; }; export declare type JobSettings = ({ existing_cluster_id: string; } | { new_cluster: NewCluster; }) & JobTask & { name?: string; libraries?: Library[]; email_notifications?: JobEmailNotifications; timeout_seconds?: number; mex_retries?: number; min_retry_interval_millis?: number; retry_on_timeout?: boolean; schedule?: CronSchedule; max_concurrent_runs?: number; }; export default class Jobs extends DataBricksBase { constructor(args: ConstructorProps); create(param: JobSettings): Promise<{ job_id: number; }>; list(): Promise<{ jobs: Job[]; }>; delete(param: { job_id: number; }): Promise; get(param: { job_id: number; }): Promise; reset(param: { job_id: number; new_settings: JobSettings; }): Promise; runNow(param: { job_id: string; jar_params?: string[]; notebook_params?: { [key: string]: string; }; python_params?: string[]; spark_submit_params?: string[]; }): Promise<{ run_id: number; number_in_job: number; }>; }