import type { InlineToolRunnable } from '../tools/types'; export interface InlineAssistantPromptOptions { prompt: string; agentName?: string; agentId?: string; systemPrompt?: string; tools?: InlineToolRunnable[]; onStart?: () => void; onDelta?: (delta: string) => void; onComplete?: (text: string) => void; onError?: (error: Error) => void; } export interface InlineAssistant { sendPrompt(options: InlineAssistantPromptOptions): Promise; cancel(): void; dispose(): void; } declare global { interface Window { [key: string]: any; } } export type InlineAssistantFactory = (origin: string) => Promise; export type InlineAssistantInitializer = () => Promise; export declare function setInlineAssistantFactory(fn: InlineAssistantFactory): void; /** * Register a lazy initializer that will be called on first use. * The plugin code should register this to enable lazy loading of the inline assistant. * * This uses global storage (window) so that all plugins share the same initializer, * regardless of which plugin instance or package version loads first. */ export declare function setInlineAssistantInitializer(fn: InlineAssistantInitializer): void; /** * Ensure the inline assistant is initialized. If an initializer is registered, * it will be called on first use. Otherwise, checks if factory is already registered. * * Uses global storage (window) so that initialization is shared across all plugins. */ export declare function ensureInlineAssistantInitialized(): Promise; export declare function getInlineAssistantFactory(): InlineAssistantFactory; //# sourceMappingURL=inlineAssistant.d.ts.map