import type { ApplyPackageDto, ApplyPackageResultDto, ContinueApplyPackageDto, PromotePackageDto, PromotePackageResultDto, PromotionCheckoutPublicDto, PromotionDirection } from '@n8n/api-types'; import { Logger } from '@n8n/backend-common'; import { ProjectRepository, type User } from '@n8n/db'; import { N8nPackagesService } from '../../modules/n8n-packages/n8n-packages.service'; import { ProjectService } from '../../services/project.service.ee'; import { PromotionBindingPreflightService } from './promotion-binding-preflight.service'; import { PromotionConfigResolver } from './promotion-config.resolver'; import { PromotionProvidersService } from './promotion-providers.service'; import { PromotionWorkingDirectoryService } from './promotion-working-directory.service'; import { PromotionsGitService } from './promotions-git.service'; import type { BranchPackage } from './promotions.types'; import { WorkingCopyUpdater, type SelectivePushOptions } from './working-copy-updater'; export declare class PromotionsService { private readonly resolver; private readonly providersService; private readonly workingDirectory; private readonly workingCopy; private readonly gitService; private readonly projectRepository; private readonly projectService; private readonly n8nPackagesService; private readonly bindingPreflight; private readonly logger; constructor(resolver: PromotionConfigResolver, providersService: PromotionProvidersService, workingDirectory: PromotionWorkingDirectoryService, workingCopy: WorkingCopyUpdater, gitService: PromotionsGitService, projectRepository: ProjectRepository, projectService: ProjectService, n8nPackagesService: N8nPackagesService, bindingPreflight: PromotionBindingPreflightService, logger: Logger); clone(connectionId: string, direction: PromotionDirection): Promise; disconnect(connectionId: string, direction: PromotionDirection): Promise; promote(connectionId: string, actor: User, request: PromotePackageDto & { canExportVariableValues: boolean; }): Promise; promoteSelection(connectionId: string, actor: User, request: PromotePackageDto & { canExportVariableValues: boolean; }, selection: SelectivePushOptions): Promise; apply(connectionId: string, actor: User, expectedSource?: ApplyPackageDto['expectedSource']): Promise; continueApply(connectionId: string, actor: User, request: ContinueApplyPackageDto): Promise; private applyFromSource; readBranchPackage(projectId: string, direction: PromotionDirection): Promise; private assertInstanceScope; private assertTeamProject; private hasExportedPackage; private assertCheckoutReady; private descriptorFor; private checkoutIdentity; private credentialsFor; private reconcileTeamProjects; private commitAuthor; private toApplyCounts; }