/**
 * 生成策略接口和类型定义
 */

/** 策略名称 */
export type StrategyName = 'sequential' | 'one-step-outline' | 'per-chapter' | 'deep-plan-parallel';

/** 生成策略接口 */
export interface GenerationStrategy {
  /** 策略唯一标识 */
  readonly name: StrategyName;
  /** 策略描述 */
  readonly description: string;
  /**
   * 执行书籍生成
   * @param bookId   书籍 ID
   * @param topic    主题/描述
   * @param bookScale 书籍规模 key
   * @param genLevel  大纲层级（已解析后的数值）
   * @param userSpecifiedGenLevel 用户明确指定的大纲层级（undefined=自动/AI决定）
   */
  generate(bookId: string, topic: string, bookScale: string, genLevel: number, userSpecifiedGenLevel?: number): Promise<void>;
}

/** 策略配置 */
export interface StrategyConfig {
  /** 当前激活的策略 */
  current: StrategyName;
}
