/**
 * Model Gateway
 *
 * Aggregates models from multiple local providers (Ollama, llama-server) and
 * exposes a unified llama.cpp-router-compatible HTTP API that avis-web can talk to.
 *
 * Endpoints served:
 *   GET  /props                  — synthetic llama.cpp props (role: "router")
 *   GET  /v1/models              — merged model list from all running providers
 *   POST /v1/chat/completions    — proxied to the correct backend by model id
 *   GET  /models                 — alias for /v1/models (router mode)
 */
import type * as http from "node:http";
export interface GatewayProvider {
    id: string;
    baseUrl: string;
    type: "ollama" | "llama-server";
}
interface GatewayModel {
    id: string;
    name: string;
    provider: string;
    backendUrl: string;
    sizeBytes?: number;
    status: "loaded" | "unloaded";
    details?: {
        parameter_size?: string;
        quantization_level?: string;
        family?: string;
    };
}
export declare function aggregateModels(): Promise<GatewayModel[]>;
export declare function handleGatewayRequest(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
export {};
//# sourceMappingURL=model-gateway.d.ts.map