/**
 * Entity Capture Module
 *
 * Extracts Frame and Session entities from AgentResponse outputs.
 * Called after each strategy stage to populate the EntityStore.
 *
 * Parsing targets:
 * - scroll_sessions (from scroll_session_analysis/scrolling_analysis): SessionEntity[]
 * - get_app_jank_frames (from scrolling_analysis): FrameEntity[]
 * - jank_frames (from jank_frame_detail): FrameEntity[]
 *
 * Payloads can be either:
 * - Array of objects: [{ frame_id: 1, ... }, ...]
 * - Columnar format: { columns: [...], rows: [[...], ...] }
 */
import type { AgentResponse } from '../types/agentProtocol';
import type { EntityStore, FrameEntity, SessionEntity, CpuSliceEntity, BinderEntity, GcEntity, MemoryEntity, GenericEntity, EntityId } from '../context/entityStore';
import type { FocusInterval } from '../strategies/types';
export interface CapturedEntities {
    frames: FrameEntity[];
    sessions: SessionEntity[];
    cpuSlices: CpuSliceEntity[];
    binders: BinderEntity[];
    gcs: GcEntity[];
    memories: MemoryEntity[];
    generics: GenericEntity[];
    candidateFrameIds: EntityId[];
    candidateSessionIds: EntityId[];
}
/**
 * Create an empty CapturedEntities object.
 */
export declare function createEmptyCapturedEntities(): CapturedEntities;
/**
 * Extract entities from a batch of AgentResponse objects.
 * Typically called after a strategy stage completes.
 */
export declare function captureEntitiesFromResponses(responses: AgentResponse[]): CapturedEntities;
/**
 * Extract entities from FocusInterval array (from extractIntervals).
 * Intervals often contain richer metadata than raw SQL results.
 */
export declare function captureEntitiesFromIntervals(intervals: FocusInterval[]): CapturedEntities;
/**
 * Apply captured entities to the store.
 * This is the single write-back point from orchestrator.
 */
export declare function applyCapturedEntities(store: EntityStore, captured: CapturedEntities): void;
/**
 * Merge multiple CapturedEntities into one.
 */
export declare function mergeCapturedEntities(...captures: CapturedEntities[]): CapturedEntities;
//# sourceMappingURL=entityCapture.d.ts.map