import type { MyceliumGraph } from './graph';
import type { SelectedRoute, SelectionReason } from './activation';
import type { MyceliumTaskClassification } from './taskClassifier';
export interface ContextPackageItem {
    id: string;
    label: string;
    summary?: string;
    trust: number;
    cost: number;
    activation: number;
    protected?: boolean;
}
export interface ContextPackage {
    user_query: string;
    task_type: string;
    high_risk: boolean;
    exploration_rate: number;
    dry_run: boolean;
    selected_memories: ContextPackageItem[];
    selected_documents: ContextPackageItem[];
    selected_tools: ContextPackageItem[];
    selected_skills: ContextPackageItem[];
    selected_agents: ContextPackageItem[];
    selected_prompt_templates: ContextPackageItem[];
    selected_constraints: ContextPackageItem[];
    selected_verifiers: ContextPackageItem[];
    selected_workflows: ContextPackageItem[];
    selected_preferences: ContextPackageItem[];
    selected_safety: ContextPackageItem[];
    route_reason: string;
    execution_plan: string[];
    safety_notes: string[];
}
export interface BuildContextOptions {
    query: string;
    classification: MyceliumTaskClassification;
    route: SelectedRoute;
    dryRun: boolean;
}
export declare function buildContextPackage(opts: BuildContextOptions): ContextPackage;
export interface RouteExplanation {
    taskType: string;
    explorationRate: number;
    selectedRoute: string[];
    whySelected: string[];
    exploitation: string[];
    exploration: string[];
    protectedRequired: string[];
    fallback: string[];
    contextSummary: {
        type: string;
        count: number;
    }[];
    /** Code files included in the route from code intelligence seeding. */
    codeFiles: string[];
    graphUpdate?: {
        reinforced: number;
        decayed: number;
        archived: number;
        protectedFromDecay: number;
    };
}
export declare function buildRouteExplanation(opts: {
    classification: MyceliumTaskClassification;
    route: SelectedRoute;
    graph: MyceliumGraph;
    graphUpdate?: RouteExplanation['graphUpdate'];
}): RouteExplanation;
export declare function formatRouteExplanation(explanation: RouteExplanation): string;
export type { SelectionReason };
//# sourceMappingURL=contextPackage.d.ts.map