import { LoggerLevel, Logger } from '@flxbl-io/sfp-logger';
import ScratchOrg from '../../core/scratchorg/ScratchOrg';
import { Result } from 'neverthrow';
import PoolJobExecutor, { JobError, ScriptExecutionResult } from '../../core/scratchorg/pool/PoolJobExecutor';
import { Org } from '@salesforce/core';
import { PoolConfig } from '../../core/scratchorg/pool/PoolConfig';
import PackageDetails from '../../core/package/Package2Detail';
import SFPOrg from '../../core/org/SFPOrg';
import { PreDeployHook } from '../deploy/PreDeployHook';
import SfpPackage from '../../core/package/SfpPackage';
export default class PrepareOrgJob extends PoolJobExecutor implements PreDeployHook {
    protected pool: PoolConfig;
    private checkPointPackages;
    private externalPackage2s?;
    constructor(pool: PoolConfig, checkPointPackages: PackageDetails[], externalPackage2s?: PackageDetails[]);
    executeJob(scratchOrg: ScratchOrg, hubOrg: SFPOrg, logToFilePath: string, logLevel: LoggerLevel): Promise<Result<ScriptExecutionResult, JobError>>;
    private deployAllPackages;
    private installsfpArtifactPackage;
    private invokeDeployImpl;
    preDeployPackage(sfpPackage: SfpPackage, targetUsername: string, deployedPackages?: SfpPackage[], devhubUserName?: string, logger?: Logger): Promise<{
        isToFailDeployment: boolean;
        message?: string;
    }>;
    private installAllExternalPackageDependencies;
    private installExternalPackageDependenciesPerPackage;
    private handleDeploymentErrorsForFullDeployment;
    private handleDeploymentErrorsForPartialDeployment;
    private relaxIPRanges;
    private prepareVlocityDataPacks;
    preInstallScript(scratchOrg: ScratchOrg, hubOrg: Org, logger: Logger): Promise<void>;
    postInstallScript(scratchOrg: ScratchOrg, hubOrg: Org, logger: Logger, deploymentStatus: string): Promise<void>;
}
