/**
 * Lightweight live-test for API keys. Each tester hits the provider's
 * cheapest authenticated endpoint (typically a list-models route) and
 * reports ok / not-ok. Tests run with a short timeout so a hung
 * provider doesn't stall `vibe doctor`.
 *
 * Coverage is intentionally partial: providers without a free
 * authenticated GET (fal, Kling, Runway, ImgBB) report `skipped: true`
 * with a short reason. Adding a new provider tester is a one-row patch
 * to the `TESTERS` table at the bottom.
 */
export interface KeyLiveTestResult {
    /** Did the call succeed (2xx)? */
    ok: boolean;
    /** True when the provider has no cheap test endpoint. */
    skipped?: boolean;
    /** HTTP status when applicable. */
    status?: number;
    /** Short human-readable reason — set on skip or failure. */
    message?: string;
}
/**
 * Run a live test for one provider key. Returns `{ ok: false, skipped:
 * true }` for providers without a cheap test, so the caller can render
 * a different glyph.
 */
export declare function testKey(configKey: string, key: string, timeoutMs?: number): Promise<KeyLiveTestResult>;
/** Lookup table introspection — used by tests + doctor's print loop. */
export declare function isTestableProvider(configKey: string): boolean;
