import type { PushMessage } from '@n8n/api-types'; import { ExecutionsConfig } from '@n8n/config'; import type { BooleanLicenseFeature, NumericLicenseFeature } from '@n8n/constants'; import { SettingsRepository, UserRepository } from '@n8n/db'; import { Request } from 'express'; import type nodeFs from 'node:fs'; import { ActiveWorkflowManager } from '../active-workflow-manager'; import { License } from '../license'; import { MfaService } from '../mfa/mfa.service'; import { LogStreamingDestinationService } from '../modules/log-streaming.ee/log-streaming-destination.service'; import { Push } from '../push'; import { CacheService } from '../services/cache/cache.service'; import { FrontendService } from '../services/frontend.service'; import { PasswordUtility } from '../services/password.utility'; type UserSetupPayload = { email: string; password: string; firstName: string; lastName: string; mfaEnabled?: boolean; mfaSecret?: string; mfaRecoveryCodes?: string[]; }; type ResetRequest = Request<{}, {}, { owner: UserSetupPayload; members: UserSetupPayload[]; admin: UserSetupPayload; chat: UserSetupPayload; }>; type PushRequest = Request<{}, {}, { pushRef: string; } & PushMessage>; export declare class E2EController { private readonly settingsRepo; private readonly workflowRunner; private readonly mfaService; private readonly cacheService; private readonly push; private readonly passwordUtility; private readonly userRepository; private readonly frontendService; private readonly executionsConfig; private readonly logStreamingDestinationsService; private enabledFeatures; private static readonly numericFeaturesDefaults; private numericFeatures; constructor(license: License, settingsRepo: SettingsRepository, workflowRunner: ActiveWorkflowManager, mfaService: MfaService, cacheService: CacheService, push: Push, passwordUtility: PasswordUtility, userRepository: UserRepository, frontendService: FrontendService, executionsConfig: ExecutionsConfig, logStreamingDestinationsService: LogStreamingDestinationService); reset(req: ResetRequest): Promise; pushSend(req: PushRequest): Promise; setFeature(req: Request<{}, {}, { feature: BooleanLicenseFeature; enabled: boolean; }>): void; setQuota(req: Request<{}, {}, { feature: NumericLicenseFeature; value: number; }>): void; setQueueMode(req: Request<{}, {}, { enabled: boolean; }>): Promise<{ success: boolean; message: string; }>; getEnvFeatureFlags(): Promise; setEnvFeatureFlags(req: Request<{}, {}, { flags: Record; }>): Promise<{ success: boolean; message: string; flags?: undefined; } | { success: boolean; message: string; flags: import("@n8n/api-types").N8nEnvFeatFlags; }>; triggerGarbageCollection(): { success: boolean; message: string; }; takeHeapSnapshot(): { success: boolean; message: string; filePath?: undefined; sizeBytes?: undefined; sizeMB?: undefined; } | { success: boolean; filePath: string; sizeBytes: number; sizeMB: number; message?: undefined; }; private heapSnapshotPaths; downloadHeapSnapshot(req: Request): nodeFs.ReadStream; getMemoryMaps(): { processMemoryUsage: { rss: number; heapTotal: number; heapUsed: number; external: number; arrayBuffers: number; }; rollup: Record | null; mappings: Array<{ name: string; rssMB: number; pssMB: number; count: number; }> | null; raw: string | null; }; private resetFeatures; private removeActiveWorkflows; private resetLogStreaming; private truncateAll; private reseedRolesAndScopes; private setupUserManagement; private resetCache; } export {};