/**
 * Local platform preflight — check router and backend health before launch.
 * Reuse-first: never restart or kill healthy services.
 */
import type { OwlCodaConfig } from './config.js';
import { ModelTruthAggregator } from './model-truth.js';
export type PreflightStatus = 'healthy_reused' | 'missing' | 'degraded' | 'blocked';
export interface ServiceCheck {
    name: string;
    url: string;
    status: PreflightStatus;
    detail: string;
    responseTimeMs?: number;
}
export interface PreflightResult {
    router: ServiceCheck;
    backends: ServiceCheck[];
    overall: PreflightStatus;
    canProceed: boolean;
    summary: string;
}
interface RunPreflightOptions {
    skipCache?: boolean;
    modelTruth?: ModelTruthAggregator;
}
/**
 * Check router health by probing /healthz.
 */
export declare function checkRouterHealth(routerUrl: string, config?: OwlCodaConfig): Promise<ServiceCheck>;
/**
 * Check if a specific backend model is available via the router's /v1/models endpoint.
 * If router is down, marks as degraded instead of checking directly.
 */
export declare function checkBackendModel(routerUrl: string, backendModel: string, routerHealthy: boolean, config?: OwlCodaConfig): Promise<ServiceCheck>;
/**
 * Run full preflight check: router + all configured backend models.
 */
export declare function runPreflight(config: OwlCodaConfig, options?: RunPreflightOptions): Promise<PreflightResult>;
/**
 * Format preflight results for CLI output.
 * Collapses unavailable models into a summary line to reduce noise.
 */
export declare function formatPreflightForCli(result: PreflightResult): string;
export {};
