import * as iam from 'aws-cdk-lib/aws-iam';
import { Job, JobProps } from './job';
import { Construct } from 'constructs';
import { Runtime } from '../constants';
/**
 * Properties for creating a Ray Glue job
 */
export interface RayJobProps extends JobProps {
    /**
     * Sets the Ray runtime environment version
     *
     * @default - Runtime version will default to Ray2.4
     */
    readonly runtime?: Runtime;
    /**
     * Specifies whether job run queuing is enabled for the job runs for this job.
     * A value of true means job run queuing is enabled for the job runs.
     * If false or not populated, the job runs will not be considered for queueing.
     * If this field does not match the value set in the job run, then the value from
     * the job run field will be used. This property must be set to false for flex jobs.
     * If this property is enabled, maxRetries must be set to zero.
     *
     * @default - no job run queuing
     */
    readonly jobRunQueuingEnabled?: boolean;
}
/**
 * Ray Jobs class
 *
 * Glue Ray jobs use worker type Z.2X and Glue version 4.0.
 * These are not overrideable since these are the only configuration that
 * Glue Ray jobs currently support. The runtime defaults to Ray2.4 and min
 * workers defaults to 3.
 */
export declare class RayJob extends Job {
    /** Uniquely identifies this class. */
    static readonly PROPERTY_INJECTION_ID: string;
    readonly jobArn: string;
    readonly jobName: string;
    readonly role: iam.IRole;
    readonly grantPrincipal: iam.IPrincipal;
    /**
     * RayJob constructor
     */
    constructor(scope: Construct, id: string, props: RayJobProps);
}
