import type { AgentToolResult, AgentToolUpdateCallback, ExtensionAPI, ExtensionContext, ToolDefinition } from "@earendil-works/pi-coding-agent"; import { Type, type Static, type TSchema } from "typebox"; import type { ContextManagementMode } from "../adapter/activation/config.ts"; import type { ContextRouter, SharedContextRequest, RemoteNoteReference } from "../context-sharing.ts"; import { type NotesAction } from "./tool-contract.ts"; declare const HISTORY_PARAMETERS: Type.TObject<{ action: Type.TOptional>; agent_name: Type.TOptional>; item_id: Type.TOptional; limit: Type.TOptional; limit_chars: Type.TOptional; max_chars_per_item: Type.TOptional; offset_chars: Type.TOptional; query: Type.TOptional; recent_first: Type.TOptional; role: Type.TOptional, Type.TNull]>>; tool_name: Type.TOptional>; tool_namespace: Type.TOptional>; window_id: Type.TOptional>; }>; declare const NOTES_PARAMETERS: Type.TObject<{ action: Type.TOptional>; file_order: Type.TOptional>; file_order_by: Type.TOptional>; max_files: Type.TOptional; max_matches_per_file: Type.TOptional; max_results: Type.TOptional; path: Type.TOptional; path_prefix: Type.TOptional>; prefix: Type.TOptional>; query: Type.TOptional; recent_file_first: Type.TOptional; start_line: Type.TOptional>; stop_line: Type.TOptional>; text: Type.TOptional; }>; export interface CodexHistoryNotesDetails { codexHistoryNotes: Record; } type HistoryNotesTool = Omit, "execute"> & { execute(toolCallId: string, params: Static, signal: AbortSignal | undefined, onUpdate: AgentToolUpdateCallback | undefined, ctx: ExtensionContext): Promise>; }; export declare function createHistoryNotesTools(pi?: Pick, resolveMode?: (ctx: ExtensionContext) => ContextManagementMode, prepareNoteWrite?: (action: NotesAction, path: unknown, ctx: ExtensionContext) => () => boolean, route?: ContextRouter): [HistoryNotesTool, HistoryNotesTool]; export declare function loadHistoryNotesThreadHint(ctx: ExtensionContext, mode: ContextManagementMode, signal?: AbortSignal): Promise; /** Read-only bridge access captures the wire body before envelope decoding. */ export declare function lookupRemoteHistoryNotes(namespace: "history" | "notes", params: Record, ctx: ExtensionContext, signal?: AbortSignal): Promise<{ bytes: Uint8Array; encoding: string; source: string; }>; /** The caller authenticates and owns protected delivery; the reference owns backend addressing. */ export declare function executeRemoteAttachment(ctx: ExtensionContext, reference: RemoteNoteReference, request: SharedContextRequest, signal?: AbortSignal): Promise>; export declare function usesRemoteHistoryNotes(ctx: Pick, mode: ContextManagementMode): boolean; export {};