import { ProcessesController } from '@taon-dev/cloud'; import { MulterFileUploadResponse } from 'taon'; import { TaonBaseRepository } from 'taon'; import { Deployments } from './deployments'; import { DeploymentsAddingStatusObj, DeploymentsStatus, DeploymentReleaseData, AllDeploymentsRemoveStatus, AllDeploymentsRemoveStatusObj } from './deployments.models'; export declare class DeploymentsRepository extends TaonBaseRepository { entityClassResolveFn: () => typeof Deployments; protected waitUntilDeploymentRemoved(deploymentId: string): Promise; protected getProcessesController(): Promise; protected zipfileAbsPath(baseFileNameWithHashDatetime: string): string; protected jsonQueryParamsFileAbsPath(baseFileNameWithHashDatetime: string): string; saveDeployment(file?: MulterFileUploadResponse, queryParams?: DeploymentReleaseData): Promise; protected waitUntilProcessKilled(processId: string | number, callback: () => void | Promise): Promise; /** * wait until deployment reach final state * starting => started * stopping => stopped * + handle failure states */ protected repeatRefreshDeploymentStateUntil(deploymentId: string | number, options?: { refreshEveryMs?: number; operation: DeploymentsStatus; callback?: () => void | Promise; }): void; /** * refresh deployment state for start and stop */ refreshDeploymentStateForStartStop(deploymentId: string | number, options?: { refreshEveryMs?: number; operation: DeploymentsStatus; }): Promise; allDeploymentRemoveStatus: AllDeploymentsRemoveStatus; removingAllDeploymentsStatus(): AllDeploymentsRemoveStatusObj; protected clearAllDeployments(): Promise; triggerAllDeploymentsRemove(): Promise; triggerDeploymentStop(baseFileNameWithHashDatetime: string, options?: { removeAfterStop?: boolean; skipStatusCheck?: boolean; }): Promise; triggerDeploymentStart(baseFileNameWithHashDatetime: string, options?: {}): Promise; clearAndAddExistedDeploymentsProcess(): Promise; private deploymentsIsAddingStatus; triggerAddExistedDeployments(): void; isAddingDeploymentStatus(): DeploymentsAddingStatusObj; }