import { type RecallOptions } from "../recall.js"; interface ExtensionAPI { registerTool(tool: Record): void; registerCommand(name: string, options: { description?: string; handler: (args: string, ctx: ExtensionContext) => Promise | void; }): void; on(event: string, handler: (event: Record, ctx: ExtensionContext) => Promise | unknown): void; sendMessage(message: { customType: string; content: string; display?: boolean; details?: Record; }, options?: { triggerTurn?: boolean; deliverAs?: "steer" | "followUp" | "nextTurn"; }): void; sendUserMessage(content: string, options?: { deliverAs?: "steer" | "followUp"; }): void; exec(command: string, args: string[]): Promise; } interface ExtensionContext { cwd: string; hasUI: boolean; ui: { theme: { fg(name: string, text: string): string; }; setStatus(name: string, value: string | undefined): void; notify(message: string, level: "info" | "warning" | "error"): void; getEditorText(): string; }; } interface AugmentClient { endpoint?: string; initProject(input: unknown): Promise; listProjects(name?: string): Promise; search(input: unknown): Promise; upsert(input: unknown): Promise; read(id: number): Promise; link(input: unknown): Promise; listLinks(memoryId: number): Promise; unlink(id: number): Promise; decoctionGlean(input: unknown): Promise; decoctionCleanup(input: unknown): Promise; sleepCandidates(input: unknown): Promise; sleepPropose(input: unknown): Promise; sleepProposals(status?: string): Promise; sleepApply(input: unknown): Promise; sleepReject(input: unknown): Promise; dreamPropose(input: unknown): Promise; dreamProposals(status?: string): Promise; dreamApply(input: unknown): Promise; dreamReject(input: unknown): Promise; projectGraph(projectId: number): Promise; } export interface AugmentPiDeps { connect?: () => Promise; inferProject?: (cwd?: string) => Promise; recall?: (options: RecallOptions) => Promise; initProject?: (cwd?: string) => Promise; } export declare function createAugmentPiExtension(inputDeps?: AugmentPiDeps): (pi: ExtensionAPI) => void; declare const _default: (pi: ExtensionAPI) => void; export default _default;