interface InputEventLike { type: 'input'; text: string; images?: unknown[]; source: 'interactive' | 'rpc' | 'extension'; } interface PiLike { on: (event: 'input', handler: (event: InputEventLike, ctx: any) => void) => void; /** Update the live session display name (pi's editor label). Present in * interactive mode; optional so the extension stays inert where it's not. */ setSessionName?: (name: string) => void; } /** * Register the goal-capture handler on `pi`. * * Returns immediately (inert) when CRTR_NODE_ID is absent. The `input` handler * is the whole extension: on the first interactive message of a goal-less node, * persist it as the goal. */ export declare function registerCanvasGoalCapture(pi: PiLike): void; export default registerCanvasGoalCapture;