import * as core from "@terrascript/core";
export interface ExecutionPropertyArgs extends core.SchemaArgs {
    maxConcurrentRuns?: number | core.NumberOut;
}
export declare class ExecutionProperty extends core.Schema<ExecutionPropertyArgs> {
    maxConcurrentRuns?: number | core.NumberOut;
}
export interface CommandArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    pythonVersion?: string | core.StringOut;
    scriptLocation: string | core.StringOut;
}
export declare class Command extends core.Schema<CommandArgs> {
    name?: string | core.StringOut;
    pythonVersion?: string | core.StringOut;
    scriptLocation: string | core.StringOut;
}
export interface NotificationPropertyArgs extends core.SchemaArgs {
    notifyDelayAfter?: number | core.NumberOut;
}
export declare class NotificationProperty extends core.Schema<NotificationPropertyArgs> {
    notifyDelayAfter?: number | core.NumberOut;
}
export interface JobArgs extends core.ResourceArgs {
    command: Command;
    connections?: core.Array<string> | core.ArrayOut<core.StringOut>;
    defaultArguments?: core.Map<string, string> | core.MapOut<core.StringOut>;
    description?: string | core.StringOut;
    executionClass?: string | core.StringOut;
    executionProperty?: ExecutionProperty;
    glueVersion?: string | core.StringOut;
    maxCapacity?: number | core.NumberOut;
    maxRetries?: number | core.NumberOut;
    name: string | core.StringOut;
    nonOverridableArguments?: core.Map<string, string> | core.MapOut<core.StringOut>;
    notificationProperty?: NotificationProperty;
    numberOfWorkers?: number | core.NumberOut;
    roleArn: string | core.StringOut;
    securityConfiguration?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    timeout?: number | core.NumberOut;
    workerType?: string | core.StringOut;
}
export declare class Job extends core.Resource<JobArgs> {
    arn: string | core.StringOut;
    command: Command;
    connections?: core.Array<string> | core.ArrayOut<core.StringOut>;
    defaultArguments?: core.Map<string, string> | core.MapOut<core.StringOut>;
    description?: string | core.StringOut;
    executionClass?: string | core.StringOut;
    executionProperty?: ExecutionProperty;
    glueVersion?: string | core.StringOut;
    id: string | core.StringOut;
    maxCapacity?: number | core.NumberOut;
    maxRetries?: number | core.NumberOut;
    name: string | core.StringOut;
    nonOverridableArguments?: core.Map<string, string> | core.MapOut<core.StringOut>;
    notificationProperty?: NotificationProperty;
    numberOfWorkers?: number | core.NumberOut;
    roleArn: string | core.StringOut;
    securityConfiguration?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    timeout?: number | core.NumberOut;
    workerType?: string | core.StringOut;
    constructor(name: string, args?: JobArgs);
    getNamespace(): string;
}
//# sourceMappingURL=job.d.ts.map