/**
 * Interaction Expert
 *
 * Domain expert for analyzing user interaction performance:
 * - Scrolling (滑动卡顿)
 * - Click response (点击响应)
 *
 * This expert specializes in understanding how the app responds
 * to user input and identifying bottlenecks in the rendering pipeline.
 *
 * Key capabilities:
 * - FPS analysis and jank detection
 * - Frame timing breakdown (doFrame, RenderThread, SurfaceFlinger)
 * - Architecture-aware analysis (handles SurfacePanel, Unity, etc.)
 * - Root cause classification (App vs System)
 */
import { BaseExpert, AnalysisStrategy, ExpertInput, AnalysisIntent } from './base';
import { DecisionTreeExecutionResult } from '../decision/types';
import { ArchitectureInfo } from '../detectors';
/**
 * Interaction Expert Implementation
 *
 * Analyzes user interaction performance using decision trees
 * and architecture-aware strategies.
 */
export declare class InteractionExpert extends BaseExpert {
    constructor();
    /**
     * Select analysis strategy based on intent and architecture
     *
     * Different architectures require different analysis approaches:
     * - STANDARD: Use the normal scrolling decision tree
     * - SURF_PANEL: Focus on surface-level analysis first
     * - UNITY: Use game-specific timing analysis
     * - WEBVIEW: Consider JS performance
     */
    protected selectStrategy(intent: AnalysisIntent, architecture?: ArchitectureInfo): AnalysisStrategy;
    /**
     * Select scrolling-specific strategy
     */
    private selectScrollingStrategy;
    /**
     * Select click response strategy
     *
     * Click analysis focuses on:
     * - Time from input to first frame
     * - Any blocking operations during response
     * - System vs app delays
     */
    private selectClickStrategy;
    /**
     * Perform custom analysis when no decision tree is available
     * (e.g., for CLICK analysis)
     */
    protected performCustomAnalysis(input: ExpertInput, architecture?: ArchitectureInfo): Promise<DecisionTreeExecutionResult>;
    /**
     * Analyze click response from frame data
     */
    private analyzeClickResponse;
}
/**
 * Create a new InteractionExpert instance
 */
export declare function createInteractionExpert(): InteractionExpert;
export default InteractionExpert;
//# sourceMappingURL=interactionExpert.d.ts.map