/**
 * n8n API Client Interface
 *
 * This module defines interfaces and types for the n8n API client.
 */
import { EnvConfig } from '../config/environment.js';
import { Workflow, Execution } from '../types/index.js';
/**
 * n8n API service - provides functions for interacting with n8n API
 */
export declare class N8nApiService {
    private client;
    /**
     * Create a new n8n API service
     *
     * @param config Environment configuration
     */
    constructor(config: EnvConfig);
    /**
     * Check connectivity to the n8n API
     */
    checkConnectivity(): Promise<void>;
    /**
     * Get all workflows from n8n
     *
     * @returns Array of workflow objects
     */
    getWorkflows(): Promise<Workflow[]>;
    /**
     * Get a specific workflow by ID
     *
     * @param id Workflow ID
     * @returns Workflow object
     */
    getWorkflow(id: string): Promise<Workflow>;
    /**
     * Execute a workflow by ID
     *
     * @param id Workflow ID
     * @param data Optional data to pass to the workflow
     * @returns Execution result
     */
    executeWorkflow(id: string, data?: Record<string, any>): Promise<any>;
    /**
     * Create a new workflow
     *
     * @param workflow Workflow object to create
     * @returns Created workflow
     */
    createWorkflow(workflow: Record<string, any>): Promise<Workflow>;
    /**
     * Update an existing workflow
     *
     * @param id Workflow ID
     * @param workflow Updated workflow object
     * @returns Updated workflow
     */
    updateWorkflow(id: string, workflow: Record<string, any>): Promise<Workflow>;
    /**
     * Delete a workflow
     *
     * @param id Workflow ID
     * @returns Deleted workflow or success message
     */
    deleteWorkflow(id: string): Promise<any>;
    /**
     * Activate a workflow
     *
     * @param id Workflow ID
     * @returns Activated workflow
     */
    activateWorkflow(id: string): Promise<Workflow>;
    /**
     * Deactivate a workflow
     *
     * @param id Workflow ID
     * @returns Deactivated workflow
     */
    deactivateWorkflow(id: string): Promise<Workflow>;
    /**
     * Get all workflow executions
     *
     * @returns Array of execution objects
     */
    getExecutions(): Promise<Execution[]>;
    /**
     * Get a specific execution by ID
     *
     * @param id Execution ID
     * @returns Execution object
     */
    getExecution(id: string): Promise<Execution>;
    /**
     * Delete an execution
     *
     * @param id Execution ID
     * @returns Deleted execution or success message
     */
    deleteExecution(id: string): Promise<any>;
}
/**
 * Create a new n8n API service
 *
 * @param config Environment configuration
 * @returns n8n API service
 */
export declare function createApiService(config: EnvConfig): N8nApiService;
