import { Logger } from '@flxbl-io/sfp-logger'; import { PackageInstallationResult } from './PackageInstallationResult'; import { Connection } from '@salesforce/core'; import SfpOrg from '../../org/SFPOrg'; import SfpPackage from '../SfpPackage'; import { DeploymentType } from '../../deployers/DeploymentExecutor'; export declare class SfpPackageInstallationOptions { installationkey?: string; apexcompile?: string; securitytype?: string; upgradetype?: string; waitTime?: string; apiVersion?: string; publishWaitTime?: number; skipTesting?: boolean; optimizeDeployment?: boolean; deploymentType?: DeploymentType; disableArtifactCommit?: boolean; isInstallingForValidation?: boolean; skipIfPackageInstalled: boolean; isDryRun?: boolean; pathToReplacementForceIgnore?: string; } export declare abstract class InstallPackage { protected sfpPackage: SfpPackage; protected sfpOrg: SfpOrg; protected logger: Logger; protected options: SfpPackageInstallationOptions; protected connection: Connection; protected packageDescriptor: any; protected packageDirectory: any; private _isArtifactToBeCommittedInOrg; constructor(sfpPackage: SfpPackage, sfpOrg: SfpOrg, logger: Logger, options: SfpPackageInstallationOptions); exec(): Promise; checkPackageDirectoryExists(): void; private waitTillAllPermissionSetGroupIsUpdated; protected setPackageDirectoryForPackage(): Promise; private sendMetricsWhenFailed; private sendMetricsWhenSuccessfullyInstalled; set isArtifactToBeCommittedInOrg(toCommit: boolean); private commitPackageInstallationStatus; protected isPackageToBeInstalled(skipIfPackageInstalled: boolean): Promise; private assignPermsetsPreDeployment; executePreDeploymentScripts(): Promise; abstract install(): any; private assignPermsetsPostDeployment; executePostDeploymentScript(): Promise; private executePostDeployers; private executePreDeployers; protected generateDeploymentOptions(waitTime: string, optimizeDeployment: boolean, skipTest: boolean, target_org: string, apiVersion: string): Promise; private getAStringOfSpecificTestClasses; }