import type { CompiledServiceInfo, CompileUrlResult, DriverConfig, ResponseFormat, ServiceUrlCompile } from "../types/driver"; import type { ResponseCache } from "../utils/cache"; import type { RequestDedup } from "../utils/dedup"; import type { ServiceResolver } from "./service-resolver"; /** Collaborators the pipeline needs; built once per driver. */ export interface PipelineContext { config: DriverConfig; cache: ResponseCache; dedup: RequestDedup; resolver: ServiceResolver; } /** Per-request transport: turns compiled request info into a ResponseFormat. */ type Transport = (apiInfo: CompileUrlResult, serviceInfo: CompiledServiceInfo) => Promise>; /** * Shared orchestration for the axios and fetch paths: resolve -> cache check -> * (dedup) retry + middleware + transport -> observability -> cache store. Only * the transport differs between the two paths. Ordering is significant: a cache * hit and a not-found both return before the request hook fires, and a * middleware error falls through to the outer catch without emitResponse. */ export declare function runPipeline(deps: PipelineContext, idService: ServiceUrlCompile, payload: Record | undefined, options: Record | undefined, transport: Transport): Promise>; export {};