from dataclasses import dataclass
from typing import List

@dataclass
class PageConfig:
    """单个PDF拆分页面配置
    
    Attributes:
        start_page (int): 起始页码
        end_page (int): 结束页码
        output_name (str): 输出文件名称
    """
    start_page: int
    end_page: int
    output_name: str

@dataclass
class SplitModel:
    """PDF拆分配置结构体
    
    Attributes:
        output_dir (str): 输出相对目录路径，将与外部指定的基础目录拼接形成最终输出路径
        page_configs (List[PageConfig]): 页面拆分配置列表
    """
    output_dir: str
    page_configs: List[PageConfig]