import type { AIDriver, AIMessage, BuddyApiKeys, BuddyConfig, BuddyState, GitHubCredentials, RepoState, StreamingResult } from './types'; /** * Build system prompt for AI with repository context */ export declare function buildSystemPrompt(context: string): string; /** * Get driver instance by name */ export declare function getDriver(driverName: string): AIDriver; /** * Get list of available AI drivers */ export declare function getAvailableDrivers(): string[]; /** * Get repository structure for context */ export declare function getRepoContext(repoPath: string): Promise; /** * Clone or open a repository */ export declare function openRepository(input: string): Promise; /** * Apply file changes from AI response */ export declare function applyChanges(aiResponse: string): Promise; /** * Configure git user for commits */ export declare function configureGitUser(): Promise; /** * Stage and commit changes */ export declare function commitChanges(): Promise; /** * Push changes to remote */ export declare function pushChanges(): Promise; /** * Process command with selected AI driver */ export declare function processCommand(command: string, driverName?: string): Promise; /** * Process command with streaming output using Claude CLI */ export declare function buddyProcessStreaming(command: string, driverName?: string, history?: Array<{role: string; content: string}>): Promise; /** * Stream a simple Q&A response using the Anthropic API directly. * This provides true token-by-token streaming like ChatGPT/Claude web. * Use this for questions/explanations that don't require agentic tool use. */ export declare function buddyStreamSimple(command: string, history?: Array<{ role: string; content: string }>): Promise; // ============================================================================= // Configuration // ============================================================================= export declare const CONFIG: BuddyConfig; // API Keys state (can be set at runtime via settings endpoint) export declare const apiKeys: BuddyApiKeys; export declare const buddyState: BuddyStateManager; // Buddy State Manager export declare interface BuddyStateManager { getState: () => BuddyState setRepo: (repo: RepoState | null) => void setCurrentDriver: (driver: string) => void setGitHub: (github: GitHubCredentials | null) => void addToHistory: (message: AIMessage) => void clearHistory: () => void }