/**
 * Local Model Manager
 *
 * Manages local GGUF models and the llama-server process.
 * Handles: download, list, start, stop, status.
 */
import type { LocalConfig, LocalModel, LocalServerState } from "./types.js";
export declare class LocalModelManager {
    private config;
    private modelsDir;
    private serverProcess;
    constructor(config?: Partial<LocalConfig>);
    /** Get all downloaded models */
    getModels(): LocalModel[];
    /** Save models manifest */
    private saveModels;
    /** Register a downloaded model */
    registerModel(model: LocalModel): void;
    /** Remove a model (delete files + unregister) */
    removeModel(modelId: string): boolean;
    /** Find a model by ID */
    findModel(modelId: string): LocalModel | undefined;
    /** List GGUF files in models directory (for discovery) */
    listGgufFiles(): string[];
    /** Check if llama-server binary is available */
    isServerInstalled(): boolean;
    /** Get current server state */
    getServerState(): LocalServerState;
    /** Start llama-server with a specific model */
    startServer(modelId: string): Promise<{
        success: boolean;
        error?: string;
    }>;
    /** Stop the running server */
    stopServer(): boolean;
    private waitForReady;
    /** Check server health */
    isServerHealthy(): Promise<boolean>;
    /** Get formatted status string */
    getStatusString(): Promise<string>;
    /** Get the models directory path */
    getModelsDir(): string;
}
//# sourceMappingURL=local-manager.d.ts.map