import type { LanguageModelV3Middleware, LanguageModelV3Prompt } from '@ai-sdk/provider'; import type { TSmartAiProviderOptions } from './smartai.interfaces.js'; export type TSmartAiMessageCacheProvider = 'anthropic' | 'openrouter' | 'bedrock' | 'openaiCompatible' | 'copilot' | 'alibaba'; export type TSmartAiCacheRetention = 'ephemeral' | '1h' | 'in_memory' | '24h'; export interface ISmartAiCacheOptions { /** Provider-specific message cache marker namespace. Usually inferred from the model. */ provider?: TSmartAiMessageCacheProvider; /** Stable session/request key for providers that support request-level prompt cache affinity. */ key?: string; /** Short retention is the default; longer retention is opt-in. */ retention?: TSmartAiCacheRetention; } export type TSmartAiCacheSetting = boolean | 'auto' | ISmartAiCacheOptions; export declare function mergeSmartAiProviderOptions(defaults?: TSmartAiProviderOptions, overrides?: TSmartAiProviderOptions): TSmartAiProviderOptions | undefined; export declare function resolveSmartAiCacheProvider(provider?: string, modelId?: string): TSmartAiMessageCacheProvider | undefined; export declare function getSmartAiMessageCacheProviderOptions(provider: TSmartAiMessageCacheProvider, options?: ISmartAiCacheOptions): TSmartAiProviderOptions; export declare function applySmartAiPromptCaching(prompt: LanguageModelV3Prompt, options?: ISmartAiCacheOptions): LanguageModelV3Prompt; export declare function createSmartAiCachingMiddleware(options?: ISmartAiCacheOptions): LanguageModelV3Middleware; export declare function getSmartAiCacheProviderOptions(input: { provider?: string; modelId?: string; cache?: TSmartAiCacheSetting; sessionId?: string; }): TSmartAiProviderOptions | undefined; export declare function applySmartAiCacheProviderOptions(input: { provider?: string; modelId?: string; providerOptions?: TSmartAiProviderOptions; cache?: TSmartAiCacheSetting; sessionId?: string; }): TSmartAiProviderOptions | undefined;