/**
 * Language Server Auto-Discovery
 * Detects installed language servers on the system
 */
import type { LSPServerConfig } from './lsp-client.js';
interface LanguageServerDefinition {
    name: string;
    command: string;
    args: string[];
    languages: string[];
    checkCommand?: string;
    verificationMethod?: 'version' | 'lsp' | 'none';
    installHint?: string;
}
/**
 * Check if a directory is a Deno project by looking for deno.json or deno.jsonc
 * @param projectRoot The directory to check (defaults to process.cwd())
 * @returns true if a Deno configuration file is found, false otherwise
 */
export declare function isDenoProject(projectRoot?: string): boolean;
/**
 * Get servers ordered by project context
 * Prioritizes Deno over TypeScript LSP when in a Deno project
 * @param projectRoot The project root to check for Deno config (defaults to process.cwd())
 * @returns Ordered array of server definitions with Deno first if in a Deno project
 */
export declare function getOrderedServers(projectRoot?: string): LanguageServerDefinition[];
/**
 * Discover all installed language servers
 * @param projectRoot Optional project root for context-aware server selection
 */
export declare function discoverLanguageServers(projectRoot?: string): Promise<LSPServerConfig[]>;
/**
 * Get language server config for a specific file extension
 */
export declare function getServerForLanguage(servers: LSPServerConfig[], extension: string): LSPServerConfig | undefined;
/**
 * Get the file extension to LSP language ID mapping
 */
export declare function getLanguageId(extension: string): string;
/**
 * Get install hints for missing language servers
 */
export declare function getMissingServerHints(extensions: string[]): string[];
/**
 * Try to find language server from node_modules (project-local)
 */
export declare function findLocalServer(projectRoot: string, serverName: string): string | null;
/**
 * Get all known language servers with their availability status
 */
export declare function getKnownServersStatus(): Array<{
    name: string;
    available: boolean;
    languages: string[];
    installHint?: string;
}>;
export {};
//# sourceMappingURL=server-discovery.d.ts.map