import type { Throws } from '@livekit/throws-transformer/throws';
import type { RunningJobInfo } from '../job.js';
export interface JobExecutor {
    started: boolean;
    userArguments: any;
    runningJob: RunningJobInfo | undefined;
    status: JobStatus;
    start(): Promise<Throws<void, Error>>;
    join(): Promise<Throws<void, Error>>;
    initialize(options: {
        sessionEndTimeout: number;
    }): Promise<Throws<void, Error>>;
    close(): Promise<Throws<void, Error>>;
    launchJob(info: RunningJobInfo): Promise<Throws<void, Error>>;
}
export declare enum JobStatus {
    RUNNING = 0,
    FAILED = 1,
    SUCCESS = 2
}
//# sourceMappingURL=job_executor.d.ts.map