import { Command } from '@oclif/core';
import { InstanceCommand } from './instance-command.js';
import { type JobExecution } from '../operations/jobs/index.js';
/**
 * Base command for job operations.
 *
 * Extends InstanceCommand with job-specific functionality like
 * displaying job logs on failure.
 *
 * @example
 * export default class MyJobCommand extends JobCommand<typeof MyJobCommand> {
 *   async run(): Promise<void> {
 *     try {
 *       await executeJob(this.instance, 'my-job');
 *     } catch (error) {
 *       if (error instanceof JobExecutionError) {
 *         await this.showJobLog(error.execution);
 *       }
 *       throw error;
 *     }
 *   }
 * }
 */
export declare abstract class JobCommand<T extends typeof Command> extends InstanceCommand<T> {
    /**
     * Display a job's log file content and error message if available.
     * Outputs to stderr since this is typically shown for failed jobs.
     *
     * @param execution - Job execution with log file info
     */
    protected showJobLog(execution: JobExecution): Promise<void>;
}
