/**
 * Skill Executor Adapter
 *
 * Bridges the Decision Tree's SkillExecutorInterface with the actual
 * Skill system (SkillAnalysisAdapter). This allows decision trees to
 * invoke YAML-defined skills transparently.
 */
import { SkillExecutorInterface } from './decisionTreeExecutor';
import { DecisionContext } from './types';
/**
 * Adapter that implements SkillExecutorInterface for decision trees
 */
export declare class SkillExecutorAdapter implements SkillExecutorInterface {
    private cache;
    private enableCache;
    constructor(options?: {
        enableCache?: boolean;
    });
    /**
     * Execute a skill and return its result
     */
    execute(skillId: string, params: Record<string, any>, context: DecisionContext): Promise<any>;
    /**
     * Transform skill response to a flattened format for decision tree evaluation
     */
    private transformResult;
    /**
     * Apply skill-specific transformations to make data easier to query
     */
    private applySkillSpecificTransform;
    /**
     * Transform scrolling analysis result
     */
    private transformScrollingResult;
    /**
     * Transform startup analysis result
     *
     * startup_analysis.skill.yaml saves data as 'startups' (save_as: startups),
     * with columns: startup_type, dur_ms, ttid_ms, ttfd_ms, rating, perfetto_start.
     * Phase-level breakdown (process_start_time, etc.) is NOT available from
     * startup_analysis — it would require future startup_detail enhancements.
     */
    private transformStartupResult;
    private extractStartupRows;
    private normalizeRowArray;
    private mapColumnsToRow;
    /**
     * Transform jank analysis result
     */
    private transformJankResult;
    private findRowsByStepId;
    private findFirstRowByStepId;
    private averageByKey;
    /**
     * Transform CPU analysis result
     */
    private transformCpuResult;
    /**
     * Transform Binder analysis result
     */
    private transformBinderResult;
    /**
     * Extract a number from an object with multiple possible key names
     */
    private extractNumber;
    /**
     * Build a cache key for skill results
     */
    private buildCacheKey;
    /**
     * Clear the result cache
     */
    clearCache(): void;
    /**
     * Get cache statistics
     */
    getCacheStats(): {
        size: number;
        keys: string[];
    };
}
/**
 * Create a skill executor adapter instance
 */
export declare function createSkillExecutorAdapter(options?: {
    enableCache?: boolean;
}): SkillExecutorAdapter;
export default SkillExecutorAdapter;
//# sourceMappingURL=skillExecutorAdapter.d.ts.map