import type { DiagnosticInfo } from '../vscode/protocol.js';
interface UseVSCodeServerProps {
    enabled: boolean;
    port?: number;
    currentModel?: string;
    currentProvider?: string;
    onPrompt?: (prompt: string, context?: {
        filePath?: string;
        selection?: string;
        cursorPosition?: {
            line: number;
            character: number;
        };
    }) => void;
    onDiagnosticsReceived?: (diagnostics: DiagnosticInfo[]) => void;
}
interface UseVSCodeServerReturn {
    isConnected: boolean;
    connectionCount: number;
    actualPort: number | null;
    requestedPort: number;
    sendAssistantMessage: (content: string, isGenerating?: boolean) => void;
    notifyFileChange: (filePath: string, originalContent: string, newContent: string, toolName: string, toolArgs: Record<string, unknown>) => string | null;
    requestDiagnostics: (filePath?: string) => void;
    updateStatus: () => void;
}
/**
 * Hook to manage VS Code server integration
 */
export declare function useVSCodeServer({ enabled, port, currentModel, currentProvider, onPrompt, onDiagnosticsReceived, }: UseVSCodeServerProps): UseVSCodeServerReturn;
/**
 * Check if VS Code mode was requested via CLI flag
 */
export declare function isVSCodeModeEnabled(): boolean;
/**
 * Get VS Code server port from CLI args or default
 */
export declare function getVSCodePort(): number;
/**
 * Helper to create file change notification with automatic content reading
 */
export declare function createFileChangeFromTool(filePath: string, newContent: string, _toolName: string, _toolArgs: Record<string, unknown>): Promise<{
    originalContent: string;
    newContent: string;
}>;
export {};
//# sourceMappingURL=useVSCodeServer.d.ts.map