import { type OllamaRunningModel } from "../core/ollama.js";
export type OllamaHostKind = "local" | "lan" | "tailscale" | "manual";
export type OllamaHostSource = "default" | "env" | "current" | "discovered" | "tailscale" | "manual";
export type OllamaHost = {
    label: string;
    deviceName: string;
    hostname: string;
    url: string;
    source: OllamaHostSource;
    kind: OllamaHostKind;
    version?: string;
    os?: string;
    tailscaleName?: string;
    address?: string;
};
export type OllamaHostDetails = {
    host: OllamaHost;
    models: string[];
    runningModels: OllamaRunningModel[];
    fetchedAt: number;
};
export declare function getOllamaHostCandidates(currentUrl: string): OllamaHost[];
export declare function discoverOllamaHosts(currentUrl: string, options?: {
    refresh?: boolean;
}): Promise<OllamaHost[]>;
export declare function normalizeOllamaUrl(value: string): string;
export declare function checkOllamaHost(value: string, options?: Partial<OllamaHost> & {
    timeoutMs?: number;
}): Promise<OllamaHost | null>;
export declare function startLocalOllamaAppAndWait(options?: {
    timeoutMs?: number;
}): Promise<OllamaHost | null>;
export declare function readOllamaHostDetails(host: OllamaHost, refresh?: boolean): Promise<OllamaHostDetails>;
export declare function classifyOllamaHost(value: string): OllamaHostKind;
