import type { FabricJevConfig } from "./config.js"; import type { JevRequest, JevResponse } from "./types.js"; import { type JevRoute } from "./routes.js"; export interface JevCredentialSource { configured(): boolean; resolve(signal: AbortSignal): Promise; } export declare class JevCredentials { #private; readonly command: readonly string[]; private readonly env; private readonly providerAuth?; /** Route-specific environment fallbacks, in order. */ private readonly envKeys; constructor(command: readonly string[], env?: NodeJS.ProcessEnv, providerAuth?: JevCredentialSource | undefined, /** Route-specific environment fallbacks, in order. */ envKeys?: readonly string[]); status(): { configured: boolean; source: string; verified: boolean; }; resolve(signal: AbortSignal): Promise; clear(): void; } /** * Sends one validated, model-resolved request and returns the raw JSON answer. * The default posts to the route over HTTPS; a jev-fabric `serve` connection * can take its place. Either way the answer is checked again here. */ export type JevDispatch = (request: JevRequest & { model: string; }, credential: string, signal: AbortSignal) => Promise; export declare class JevClient { readonly config: FabricJevConfig; private readonly fetcher; readonly route: JevRoute; readonly credentials: JevCredentials; constructor(config: FabricJevConfig, fetcher?: typeof fetch, credentials?: JevCredentials, route?: JevRoute); evaluate(request: JevRequest, signal: AbortSignal, dispatch?: JevDispatch): Promise; close(): void; } //# sourceMappingURL=client.d.ts.map