import type { AgentMessage } from "@earendil-works/pi-agent-core"; import type { ExtensionAPI, ExtensionContext, SessionEntry } from "@earendil-works/pi-coding-agent"; export declare const CODEX_CONTEXT_BRIEFING_TYPE = "codex-context-briefing"; /** Persist with pi.appendEntry(CODEX_CONTEXT_BRIEFING_TYPE, briefing). IDs and content are immutable. */ export interface CodexContextBriefing { protocol: 1; id: string; owner: string; key: string; content: string; } export type CodexContextBriefingHandler = (ctx: ExtensionContext, windowId: string | undefined, messages?: readonly AgentMessage[]) => Promise; /** Callbacks receive selected context at inference admission, before projecting their new entries. */ export declare function registerCodexContextBriefing(pi: ExtensionAPI, handler: CodexContextBriefingHandler): () => void; export declare function hasCodexContextBriefingHost(pi: ExtensionAPI): boolean; export declare function registerCodexContextBriefingHost(pi: ExtensionAPI): () => void; export declare function recordCodexContextBriefings(pi: ExtensionAPI, ctx: ExtensionContext, windowId: string | undefined, messages?: readonly AgentMessage[]): Promise; export declare function readCodexContextBriefing(value: unknown): CodexContextBriefing; export declare function projectCodexContextBriefing(entry: SessionEntry): SessionEntry;