import { ImportWorkflowFromUrlDto, ManualRunQueryDto, TransferWorkflowBodyDto } from '@n8n/api-types';
import { GlobalConfig } from '@n8n/config';
import express from 'express';
import { Logger } from 'n8n-core';
import { SharedWorkflow } from '../databases/entities/shared-workflow';
import { ProjectRelationRepository } from '../databases/repositories/project-relation.repository';
import { ProjectRepository } from '../databases/repositories/project.repository';
import { SharedWorkflowRepository } from '../databases/repositories/shared-workflow.repository';
import { TagRepository } from '../databases/repositories/tag.repository';
import { WorkflowRepository } from '../databases/repositories/workflow.repository';
import { EventService } from '../events/event.service';
import { ExternalHooks } from '../external-hooks';
import type { IWorkflowResponse } from '../interfaces';
import { License } from '../license';
import { AuthenticatedRequest } from '../requests';
import { FolderService } from '../services/folder.service';
import { NamingService } from '../services/naming.service';
import { ProjectService } from '../services/project.service.ee';
import { TagService } from '../services/tag.service';
import { UserManagementMailer } from '../user-management/email';
import { WorkflowExecutionService } from './workflow-execution.service';
import { WorkflowHistoryService } from './workflow-history.ee/workflow-history.service.ee';
import { WorkflowRequest } from './workflow.request';
import { WorkflowService } from './workflow.service';
import { EnterpriseWorkflowService } from './workflow.service.ee';
import { CredentialsService } from '../credentials/credentials.service';
export declare class WorkflowsController {
    private readonly logger;
    private readonly externalHooks;
    private readonly tagRepository;
    private readonly enterpriseWorkflowService;
    private readonly workflowHistoryService;
    private readonly tagService;
    private readonly namingService;
    private readonly workflowRepository;
    private readonly workflowService;
    private readonly workflowExecutionService;
    private readonly sharedWorkflowRepository;
    private readonly license;
    private readonly mailer;
    private readonly credentialsService;
    private readonly projectRepository;
    private readonly projectService;
    private readonly projectRelationRepository;
    private readonly eventService;
    private readonly globalConfig;
    private readonly folderService;
    constructor(logger: Logger, externalHooks: ExternalHooks, tagRepository: TagRepository, enterpriseWorkflowService: EnterpriseWorkflowService, workflowHistoryService: WorkflowHistoryService, tagService: TagService, namingService: NamingService, workflowRepository: WorkflowRepository, workflowService: WorkflowService, workflowExecutionService: WorkflowExecutionService, sharedWorkflowRepository: SharedWorkflowRepository, license: License, mailer: UserManagementMailer, credentialsService: CredentialsService, projectRepository: ProjectRepository, projectService: ProjectService, projectRelationRepository: ProjectRelationRepository, eventService: EventService, globalConfig: GlobalConfig, folderService: FolderService);
    create(req: WorkflowRequest.Create): Promise<{
        scopes: import("@n8n/permissions").Scope[];
        homeProject?: import("../requests").SlimProject | null;
        sharedWithProjects: import("../requests").SlimProject[];
        usedCredentials?: import("./workflows.types").CredentialUsedByWorkflow[];
        tags?: import("../databases/entities/tag-entity").TagEntity[] | undefined;
        id: string;
        generateId: () => void;
        createdAt: Date;
        updatedAt: Date;
        setUpdateDate: () => void;
        name: string;
        settings?: import("n8n-workflow").IWorkflowSettings | undefined;
        versionId: string;
        nodes: import("n8n-workflow").INode[];
        connections: import("n8n-workflow").IConnections;
        tagMappings: import("../databases/entities/workflow-tag-mapping").WorkflowTagMapping[];
        parentFolder: import("../databases/entities/folder").Folder | null;
        active: boolean;
        staticData?: import("n8n-workflow").IDataObject | undefined;
        meta?: import("n8n-workflow").WorkflowFEMeta | undefined;
        statistics: import("../databases/entities/workflow-statistics").WorkflowStatistics[];
        pinData?: import("../databases/entities/workflow-entity").ISimplifiedPinData | undefined;
        triggerCount: number;
    }>;
    getAll(req: WorkflowRequest.GetMany, res: express.Response): Promise<void>;
    getNewName(req: WorkflowRequest.NewName): Promise<{
        name: string;
    }>;
    getFromUrl(_req: AuthenticatedRequest, _res: express.Response, query: ImportWorkflowFromUrlDto): Promise<IWorkflowResponse>;
    getWorkflow(req: WorkflowRequest.Get): Promise<{
        scopes: import("@n8n/permissions").Scope[];
        homeProject?: import("../requests").SlimProject | null;
        sharedWithProjects: import("../requests").SlimProject[];
        usedCredentials?: import("./workflows.types").CredentialUsedByWorkflow[];
        tags?: import("../databases/entities/tag-entity").TagEntity[] | undefined;
        id: string;
        generateId: () => void;
        createdAt: Date;
        updatedAt: Date;
        setUpdateDate: () => void;
        name: string;
        settings?: import("n8n-workflow").IWorkflowSettings | undefined;
        versionId: string;
        nodes: import("n8n-workflow").INode[];
        connections: import("n8n-workflow").IConnections;
        tagMappings: import("../databases/entities/workflow-tag-mapping").WorkflowTagMapping[];
        parentFolder: import("../databases/entities/folder").Folder | null;
        active: boolean;
        staticData?: import("n8n-workflow").IDataObject | undefined;
        meta?: import("n8n-workflow").WorkflowFEMeta | undefined;
        statistics: import("../databases/entities/workflow-statistics").WorkflowStatistics[];
        pinData?: import("../databases/entities/workflow-entity").ISimplifiedPinData | undefined;
        triggerCount: number;
    } | {
        scopes: import("@n8n/permissions").Scope[];
        name: string;
        active: boolean;
        nodes: import("n8n-workflow").INode[];
        connections: import("n8n-workflow").IConnections;
        settings?: import("n8n-workflow").IWorkflowSettings;
        staticData?: import("n8n-workflow").IDataObject;
        meta?: import("n8n-workflow").WorkflowFEMeta;
        tags?: import("../databases/entities/tag-entity").TagEntity[];
        tagMappings: import("../databases/entities/workflow-tag-mapping").WorkflowTagMapping[];
        shared: SharedWorkflow[];
        statistics: import("../databases/entities/workflow-statistics").WorkflowStatistics[];
        pinData?: import("../databases/entities/workflow-entity").ISimplifiedPinData;
        versionId: string;
        triggerCount: number;
        parentFolder: import("../databases/entities/folder").Folder | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
    }>;
    update(req: WorkflowRequest.Update): Promise<{
        scopes: import("@n8n/permissions").Scope[];
        name: string;
        active: boolean;
        nodes: import("n8n-workflow").INode[];
        connections: import("n8n-workflow").IConnections;
        settings?: import("n8n-workflow").IWorkflowSettings;
        staticData?: import("n8n-workflow").IDataObject;
        meta?: import("n8n-workflow").WorkflowFEMeta;
        tags?: import("../databases/entities/tag-entity").TagEntity[];
        tagMappings: import("../databases/entities/workflow-tag-mapping").WorkflowTagMapping[];
        shared: SharedWorkflow[];
        statistics: import("../databases/entities/workflow-statistics").WorkflowStatistics[];
        pinData?: import("../databases/entities/workflow-entity").ISimplifiedPinData;
        versionId: string;
        triggerCount: number;
        parentFolder: import("../databases/entities/folder").Folder | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
    }>;
    delete(req: WorkflowRequest.Delete): Promise<boolean>;
    runManually(req: WorkflowRequest.ManualRun, _res: unknown, query: ManualRunQueryDto): Promise<{
        waitingForWebhook: boolean;
        executionId?: undefined;
    } | {
        executionId: string;
        waitingForWebhook?: undefined;
    }>;
    share(req: WorkflowRequest.Share): Promise<void>;
    transfer(req: AuthenticatedRequest, _res: unknown, workflowId: string, body: TransferWorkflowBodyDto): Promise<{
        error: {
            message: string;
            lineNumber: number | undefined;
            timestamp: number;
            name: string;
            description: string | null | undefined;
            context: import("n8n-workflow").IDataObject;
            cause: Error | undefined;
        } | {
            name: string;
            message: string;
        };
    } | undefined>;
}
