import type { CompactionConfig } from '../config/runtime.js';
import type { ConversationManager } from './interface.js';
import type { CompactionStrategy } from './types.js';
/**
 * Factory function to create a ConversationManager based on the configured strategy.
 *
 * @param strategy - Selected compaction strategy: 'structured', 'sliding-window', or 'disabled'
 * @param config - CompactionConfig with keepRecentMessages and other settings
 * @returns Instantiated ConversationManager
 *
 * @throws If strategy is not recognized (exhaustiveness check ensures this never happens at runtime)
 *
 * @example
 * ```typescript
 * const manager = createConversationManager('structured', config)
 * const trimmed = manager.applyManagement(messages)
 * ```
 */
export declare function createConversationManager(strategy: CompactionStrategy, config: CompactionConfig): ConversationManager;
//# sourceMappingURL=factory.d.ts.map