/**
 * Healthz client — types and functions for probing OwlCoda daemon health.
 * Extracted from cli-core.ts for modularity.
 */
export interface HealthzResponse {
    status: string;
    version: string;
    pid: number;
    runtimeToken: string | null;
    host: string;
    port: number;
    routerUrl: string;
    configFingerprint?: string;
}
export declare function resolveClientHost(bindHost: string): string;
export interface HealthzConfigIdentity {
    port: number;
    routerUrl: string;
    host: string;
    localRuntimeProtocol?: string;
    responseModelStyle?: string;
    models?: Array<{
        id?: string;
        backendModel?: string;
        endpoint?: string;
        apiKey?: unknown;
        apiKeyEnv?: string;
        default?: boolean;
        aliases?: string[];
    }>;
}
export declare function configIdentityFingerprint(config: HealthzConfigIdentity): string;
export declare function healthzMatchesConfig(healthz: HealthzResponse, config: HealthzConfigIdentity, options?: {
    requireConfigFingerprint?: boolean;
}): boolean;
export interface RuntimeMetaLike {
    pid: number;
    runtimeToken: string;
    host: string;
    port: number;
    routerUrl: string;
}
export declare function healthzMatchesRuntimeMeta(healthz: HealthzResponse, meta: RuntimeMetaLike): boolean;
export declare function fetchHealthz(baseUrl: string, timeoutMs?: number): Promise<HealthzResponse | null>;
export declare function waitForVerifiedHealthz(baseUrl: string, matcher: (healthz: HealthzResponse) => boolean, timeoutMs?: number): Promise<HealthzResponse | null>;
export declare function waitForHealthzGone(baseUrl: string, timeoutMs?: number): Promise<boolean>;
