import { Org } from '@salesforce/core'; import { PoolConfig } from './PoolConfig'; import ScratchOrg from '../ScratchOrg'; import { Result } from 'neverthrow'; import { LoggerLevel } from '@flxbl-io/sfp-logger'; export default abstract class PoolJobExecutor { protected pool: PoolConfig; protected logToFilePath: string; constructor(pool: PoolConfig); execute(scratchOrg: ScratchOrg, hubOrg: Org, logLevel: LoggerLevel): Promise>; abstract executeJob(scratchOrg: ScratchOrg, hubOrg: Org, logToFilePath: string, logLevel: LoggerLevel): Promise>; } export interface ScriptExecutionResult { scratchOrgUsername: string; } export interface JobError { message: string; scratchOrgUsername: string; }