//#region src/utils/cache-state.d.ts
type CacheState = 'HIT' | 'MISS' | 'NOT-ATTEMPTED' | 'NOT-SUPPORTED-BY-PROVIDER';
declare function isProviderSupportedForCaching(provider: string): boolean;
/**
 * Resolve the provider to use for the caching-support gate.
 *
 * Vercel-AI-Gateway-routed deployments report `ai.model.provider = 'gateway'`,
 * which is a router, not a caching-capable provider. The actual model provider
 * that produced the response (and owns the cache keys) lives in
 * `gen_ai.response.provider`. Prefer that resolved provider when present so the
 * support gate reflects the real backend (e.g. 'anthropic'); fall back to the
 * request-side `ai.model.provider` only when the resolved provider is absent.
 */
declare function resolveCachingProvider({
  requestProvider,
  responseProvider
}: {
  requestProvider?: string | null;
  responseProvider?: string | null;
}): string;
interface DeriveCacheStateInput {
  markerCount: number;
  cacheRead: number;
  providerSupportsCaching?: boolean;
}
declare function deriveCacheState({
  markerCount,
  cacheRead,
  providerSupportsCaching
}: DeriveCacheStateInput): CacheState;
//#endregion
export { CacheState, DeriveCacheStateInput, deriveCacheState, isProviderSupportedForCaching, resolveCachingProvider };