import type { AuthenticationMethod, IRun, IWorkflowBase, WorkflowExecuteMode } from 'n8n-workflow'; import type { IDiagnosticInfo, IInternalHooksClass, ITelemetryUserDeletionData, IWorkflowDb, IWorkflowExecutionDataProcess } from './Interfaces'; import { Telemetry } from './telemetry'; import type { AuthProviderType } from './databases/entities/AuthIdentity'; import { RoleService } from './role/role.service'; import type { User } from './databases/entities/User'; import { NodeTypes } from './NodeTypes'; export declare class InternalHooks implements IInternalHooksClass { private telemetry; private nodeTypes; private roleService; private instanceId; constructor(telemetry: Telemetry, nodeTypes: NodeTypes, roleService: RoleService); init(instanceId: string): Promise; onServerStarted(diagnosticInfo: IDiagnosticInfo, earliestWorkflowCreatedAt?: Date): Promise; onFrontendSettingsAPI(sessionId?: string): Promise; onPersonalizationSurveySubmitted(userId: string, answers: Record): Promise; onWorkflowCreated(user: User, workflow: IWorkflowBase, publicApi: boolean): Promise; onWorkflowDeleted(user: User, workflowId: string, publicApi: boolean): Promise; onWorkflowSaved(user: User, workflow: IWorkflowDb, publicApi: boolean): Promise; onNodeBeforeExecute(executionId: string, workflow: IWorkflowBase, nodeName: string): Promise; onNodePostExecute(executionId: string, workflow: IWorkflowBase, nodeName: string): Promise; onWorkflowBeforeExecute(executionId: string, data: IWorkflowExecutionDataProcess): Promise; onWorkflowCrashed(executionId: string, executionMode: WorkflowExecuteMode, workflowData?: IWorkflowBase): Promise; onWorkflowPostExecute(executionId: string, workflow: IWorkflowBase, runData?: IRun, userId?: string): Promise; onWorkflowSharingUpdate(workflowId: string, userId: string, userList: string[]): Promise; onN8nStop(): Promise; onUserDeletion(userDeletionData: { user: User; telemetryData: ITelemetryUserDeletionData; publicApi: boolean; }): Promise; onUserInvite(userInviteData: { user: User; target_user_id: string[]; public_api: boolean; email_sent: boolean; }): Promise; onUserReinvite(userReinviteData: { user: User; target_user_id: string; public_api: boolean; }): Promise; onUserRetrievedUser(userRetrievedData: { user_id: string; public_api: boolean; }): Promise; onUserRetrievedAllUsers(userRetrievedData: { user_id: string; public_api: boolean; }): Promise; onUserRetrievedExecution(userRetrievedData: { user_id: string; public_api: boolean; }): Promise; onUserRetrievedAllExecutions(userRetrievedData: { user_id: string; public_api: boolean; }): Promise; onUserRetrievedWorkflow(userRetrievedData: { user_id: string; public_api: boolean; }): Promise; onUserRetrievedAllWorkflows(userRetrievedData: { user_id: string; public_api: boolean; }): Promise; onUserUpdate(userUpdateData: { user: User; fields_changed: string[]; }): Promise; onUserInviteEmailClick(userInviteClickData: { inviter: User; invitee: User; }): Promise; onUserPasswordResetEmailClick(userPasswordResetData: { user: User; }): Promise; onUserTransactionalEmail(userTransactionalEmailData: { user_id: string; message_type: 'Reset password' | 'New user invite' | 'Resend invite'; public_api: boolean; }): Promise; onUserInvokedApi(userInvokedApiData: { user_id: string; path: string; method: string; api_version: string; }): Promise; onApiKeyDeleted(apiKeyDeletedData: { user: User; public_api: boolean; }): Promise; onApiKeyCreated(apiKeyCreatedData: { user: User; public_api: boolean; }): Promise; onUserPasswordResetRequestClick(userPasswordResetData: { user: User; }): Promise; onInstanceOwnerSetup(instanceOwnerSetupData: { user_id: string; }): Promise; onUserSignup(user: User, userSignupData: { user_type: AuthProviderType; was_disabled_ldap_user: boolean; }): Promise; onEmailFailed(failedEmailData: { user: User; message_type: 'Reset password' | 'New user invite' | 'Resend invite'; public_api: boolean; }): Promise; onUserLoginSuccess(userLoginData: { user: User; authenticationMethod: AuthenticationMethod; }): Promise; onUserLoginFailed(userLoginData: { user: string; authenticationMethod: AuthenticationMethod; reason?: string; }): Promise; onUserCreatedCredentials(userCreatedCredentialsData: { user: User; credential_name: string; credential_type: string; credential_id: string; public_api: boolean; }): Promise; onUserSharedCredentials(userSharedCredentialsData: { user: User; credential_name: string; credential_type: string; credential_id: string; user_id_sharer: string; user_ids_sharees_added: string[]; sharees_removed: number | null; }): Promise; onCommunityPackageInstallFinished(installationData: { user: User; input_string: string; package_name: string; success: boolean; package_version?: string; package_node_names?: string[]; package_author?: string; package_author_email?: string; failure_reason?: string; }): Promise; onCommunityPackageUpdateFinished(updateData: { user: User; package_name: string; package_version_current: string; package_version_new: string; package_node_names: string[]; package_author?: string; package_author_email?: string; }): Promise; onCommunityPackageDeleteFinished(deleteData: { user: User; package_name: string; package_version: string; package_node_names: string[]; package_author?: string; package_author_email?: string; }): Promise; onLdapSyncFinished(data: { type: string; succeeded: boolean; users_synced: number; error: string; }): Promise; onLdapUsersDisabled(data: { reason: 'ldap_update' | 'ldap_feature_deactivated'; users: number; user_ids: string[]; }): Promise; onUserUpdatedLdapSettings(data: { user_id: string; loginIdAttribute: string; firstNameAttribute: string; lastNameAttribute: string; emailAttribute: string; ldapIdAttribute: string; searchPageSize: number; searchTimeout: number; synchronizationEnabled: boolean; synchronizationInterval: number; loginLabel: string; loginEnabled: boolean; }): Promise; onLdapLoginSyncFailed(data: { error: string; }): Promise; userLoginFailedDueToLdapDisabled(data: { user_id: string; }): Promise; onFirstProductionWorkflowSuccess(data: { user_id: string; workflow_id: string; }): Promise; onFirstWorkflowDataLoad(data: { user_id: string; workflow_id: string; node_type: string; node_id: string; credential_type?: string; credential_id?: string; }): Promise; onLicenseRenewAttempt(data: { success: boolean; }): Promise; onAuditGeneratedViaCli(): Promise; onVariableCreated(createData: { variable_type: string; }): Promise; }