/**
 * Skill 执行事件收集器 v1.0
 *
 * 收集 skill 执行过程中的事件，用于：
 * 1. 前端进度展示
 * 2. 调试和监控
 * 3. 性能分析
 */
import { SkillEvent, SkillEventType } from './types';
export interface EventSummary {
    /** 事件总数 */
    totalEvents: number;
    /** 开始时间 */
    startTime: number;
    /** 结束时间 */
    endTime: number;
    /** 总耗时(ms) */
    totalDurationMs: number;
    /** 各类型事件计数 */
    eventCounts: Record<SkillEventType, number>;
    /** 已完成步骤数 */
    completedSteps: number;
    /** 失败步骤数 */
    failedSteps: number;
    /** 是否有 AI 调用 */
    hasAICall: boolean;
    /** AI 调用次数 */
    aiCallCount: number;
}
export interface ProgressInfo {
    /** 当前阶段 */
    phase: 'initializing' | 'executing' | 'ai_processing' | 'completed' | 'failed';
    /** 当前步骤 ID */
    currentStepId?: string;
    /** 当前步骤名称 */
    currentStepName?: string;
    /** 进度百分比 (0-100) */
    progressPercent: number;
    /** 状态消息 */
    message: string;
}
export declare class SkillEventCollector {
    private events;
    private skillId;
    private totalSteps;
    /**
     * 开始收集新的 skill 执行事件
     */
    start(skillId: string, totalSteps?: number): void;
    /**
     * 添加事件
     */
    addEvent(event: SkillEvent): void;
    /**
     * 创建事件处理器（用于注入到 executor）
     */
    createHandler(): (event: SkillEvent) => void;
    /**
     * 获取所有事件
     */
    getEvents(): SkillEvent[];
    /**
     * 获取事件摘要
     */
    getSummary(): EventSummary;
    /**
     * 获取当前进度信息
     */
    getProgress(): ProgressInfo;
    /**
     * 计算进度百分比
     */
    private calculateProgress;
    /**
     * 找到当前正在执行的步骤
     */
    private findCurrentStep;
    /**
     * 获取步骤时间线
     */
    getTimeline(): Array<{
        stepId: string;
        stepType: string;
        startTime: number;
        endTime?: number;
        durationMs?: number;
        success?: boolean;
        hasAI: boolean;
    }>;
    /**
     * 清空收集器
     */
    clear(): void;
}
export declare function createEventCollector(): SkillEventCollector;
//# sourceMappingURL=eventCollector.d.ts.map