import type { ContextPackNode, ContextPackRelationship, ContextPackTaskKind, ContextRepresentationType } from '../contracts/context-pack.js'; export type ContextPackResolution = 'detail' | 'summary' | 'mixed' | 'signature' | 'sketch'; export interface ApplyResolutionOptions { resolution: ContextPackResolution; /** For 'mixed': number of top nodes that retain full detail. Defaults * to ceil(nodes.length / 3) so a 12-node pack keeps 4 detail nodes. */ detail_top_n?: number; relationships?: readonly ContextPackRelationship[]; task_kind?: ContextPackTaskKind; } export interface ApplyResolutionResult { nodes: T[]; /** Per-node resolution after applying. Useful for diagnostics. * v0.20 #132: includes 'signature' for nodes where the body was * dropped but the function signature retained. */ resolution_map: Array<{ node_id: string | undefined; resolution: ContextRepresentationType; }>; /** Estimated bytes saved (rough — based on dropped snippet length). */ bytes_saved: number; } /** Apply a resolution to a list of context-pack nodes. Pure and * deterministic — same input always produces the same output. */ export declare function applyContextPackResolution(nodes: ReadonlyArray, options: ApplyResolutionOptions): ApplyResolutionResult;