import { ToolRegistration } from '../../core/types.js';
/**
 * Process Automation Module Tools - 12-Factor MCP Implementation
 *
 * Provides comprehensive workflow automation with:
 * - Multiple trigger types (manual, schedule, event, webhook, condition, chain)
 * - Various activity types (tool, human, agent, conditional, loop, parallel, external)
 * - Error handling and retry policies
 * - Execution tracking and logging
 * - Template-based process creation
 */
export interface CreateProcessInput {
    name: string;
    description?: string;
    version?: string;
    persona?: string;
    category?: string;
    tags?: string[];
    triggers?: Array<{
        type: 'manual' | 'schedule' | 'event' | 'webhook' | 'condition' | 'chain';
        name: string;
        enabled?: boolean;
        config: any;
    }>;
    activities: Array<{
        id: string;
        type: 'tool' | 'human' | 'agent' | 'conditional' | 'loop' | 'parallel' | 'external';
        name: string;
        description?: string;
        config: any;
        retryPolicy?: {
            maxRetries: number;
            backoffMultiplier?: number;
            initialDelay?: number;
        };
        timeout?: number;
        required?: boolean;
    }>;
    variables?: Record<string, any>;
    onSuccess?: any[];
    onFailure?: any[];
}
export interface ExecuteProcessInput {
    processId: string;
    variables?: Record<string, any>;
    triggeredBy?: string;
    triggerType?: string;
}
export interface ListProcessesInput {
    category?: string;
    persona?: string;
    tags?: string[];
    isActive?: boolean;
}
export interface ListExecutionsInput {
    processId?: string;
    status?: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
    limit?: number;
    offset?: number;
}
export interface SuggestTriggersInput {
    processName: string;
    activities: Array<{
        type: string;
        name: string;
        toolName?: string;
    }>;
    persona?: string;
}
export interface CreateFromTemplateInput {
    templateId: string;
    name: string;
    description?: string;
    variables?: Record<string, any>;
}
/**
 * Setup process automation tools
 */
export declare function setupProcessAutomationTools(): Promise<ToolRegistration>;
//# sourceMappingURL=tools.d.ts.map