/**
 * Extend Executor
 *
 * Handles "extend" follow-up queries that analyze additional entities
 * from the candidate list that weren't analyzed in previous rounds.
 *
 * Use cases:
 * - "继续分析" → analyze next batch of unanalyzed frames
 * - "分析更多帧" → explicit request for more frame analysis
 * - "看看其他卡顿帧" → extend analysis to remaining jank frames
 *
 * Key characteristics:
 * - Gets unanalyzed candidate frames/sessions from EntityStore
 * - Runs drill-down analysis on a batch (configurable size)
 * - Marks analyzed entities to prevent re-analysis
 * - Returns capturedEntities and analyzedEntityIds for orchestrator write-back
 */
import { AnalysisExecutor } from './analysisExecutor';
import { AnalysisServices, ExecutionContext, ExecutorResult, ProgressEmitter } from '../orchestratorTypes';
import type { EnhancedSessionContext } from '../../context/enhancedSessionContext';
import type { FocusStore } from '../../context/focusStore';
export declare class ExtendExecutor implements AnalysisExecutor {
    private sessionContext;
    private services;
    private traceProcessorService?;
    private traceId?;
    private batchSize;
    private focusStore?;
    constructor(sessionContext: EnhancedSessionContext, services: AnalysisServices, traceProcessorService?: any | undefined, traceId?: string | undefined, batchSize?: number);
    /**
     * Set FocusStore for focus-aware prioritization (v2.0)
     */
    setFocusStore(focusStore: FocusStore): void;
    execute(ctx: ExecutionContext, emitter: ProgressEmitter): Promise<ExecutorResult>;
    /**
     * Prioritize entities based on user focus from FocusStore.
     *
     * This enables the system to analyze entities that the user has shown
     * interest in (via clicks, questions, etc.) before other candidates.
     */
    private prioritizeByFocus;
    private buildIntervalsFromIds;
    private buildIntervalFromFrame;
    private buildIntervalFromSession;
    private runBatchAnalysis;
    private generateExtendSummary;
    private buildNothingToExtendResult;
    private buildResolutionFailedResult;
}
//# sourceMappingURL=extendExecutor.d.ts.map