import type { BoberConfig } from "../config/schema.js"; /** The actionable hint string. MUST contain 'npm install openai'. */ export declare const OPENAI_PEER_HINT: string; /** * Injectable importer so tests can simulate openai present/absent without * touching the real module graph. Mirrors the getClient() pattern in openai.ts. */ export type OpenaiImporter = () => Promise; /** Returns true if any configured role resolves to an openai-family provider. */ export declare function usesOpenaiFamily(config: Partial): boolean; /** * Preflight: if an openai-family provider is configured but the openai package * is absent, emit an install hint via logger.warn and return the hint string. * If openai is installed OR no openai-family role is configured, return null. * NEVER throws — this is a warning/hint only. * * @param config - The bober config (or partial). Scans planner/curator/generator/evaluator/codeReview roles. * @param importer - Injectable importer for testability (default: dynamic import("openai")). * @returns The hint string (contains 'npm install openai') if missing, otherwise null. */ export declare function preflightOpenaiPeer(config: Partial, importer?: OpenaiImporter): Promise; //# sourceMappingURL=preflight.d.ts.map