import type { LLMProvider, ToolApprovalRequest, ToolApprovalDecision } from '../core/index.js'; import type { ToolCall, ToolResult } from '../core/index.js'; export type TeachingDepth = 'off' | 'concise' | 'detailed'; export interface TeachDryRunSummary { device: string; scope: string; rollback: string; duration: string; risk: string; } export type TeachingMetaV1 = { v: 1; toolCallId?: string; argsDigest?: string; phase: 'pre' | 'post' | 'dry_run_summary'; patch?: Record; streamDone?: boolean; confirmToken?: string; awaitingConfirm?: boolean; }; export declare function normalizeTeachingDepth(raw: unknown): TeachingDepth; export interface TeachingLayerParams { depth: TeachingDepth; teachingConfirmRequested: boolean; teachingConfirmInteractive: boolean; llmProvider: LLMProvider; modelId: string; temperature?: number; emitTeachingMeta: (st: TeachingMetaV1) => void; runId: string; sessionKey: string; deviceLabel: string; familyIsRdk: boolean; waitTeachingConfirm: (token: string) => Promise; classifyPlanMutation: (toolName: string) => boolean; abortSignal?: AbortSignal; } export declare function createTeachingHooks(p: TeachingLayerParams): { onBeforeToolExec: (req: ToolApprovalRequest) => Promise; onToolResult: (call: ToolCall, result: ToolResult) => void; }; //# sourceMappingURL=teaching-layer.d.ts.map