/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
/** Cache capability types for LLM providers. */
export type CacheType = 'explicit' | 'automatic' | 'implicit' | 'none';
export interface ExplicitCacheCapability {
    type: 'explicit';
    maxBreakpoints: number;
    ttlOptions: Array<{
        label: string;
        seconds: number;
        writeCostMultiplier: number;
    }>;
    readDiscount: number;
    minCacheableTokens: number;
}
export interface AutomaticCacheCapability {
    type: 'automatic';
    readDiscount: number;
    sessionAffinityHeader?: string;
}
export interface ImplicitCacheCapability {
    type: 'implicit';
    keepAliveParam?: string;
    defaultKeepAliveSeconds?: number;
}
export interface NoCacheCapability {
    type: 'none';
}
export type ProviderCacheCapability = ExplicitCacheCapability | AutomaticCacheCapability | ImplicitCacheCapability | NoCacheCapability;
/**
 * Get the cache capability for a provider.
 * Returns 'none' for unknown providers.
 */
export declare function getCacheCapability(providerName: string): ProviderCacheCapability;
/**
 * Check if a provider supports any form of caching.
 *
 * @remarks Intentionally exported for future consumers such as UI display
 * components and config validation that need a simple boolean check.
 */
export declare function supportsCaching(providerName: string): boolean;
/** Get the best TTL option for stable content (system prompt + tools). */
export declare function getStableTtl(cap: ProviderCacheCapability): {
    label: string;
    seconds: number;
} | null;
/** Get the default (shortest) TTL for dynamic content. */
export declare function getDynamicTtl(cap: ProviderCacheCapability): {
    label: string;
    seconds: number;
} | null;
//# sourceMappingURL=cache-capability.d.ts.map