/**
 * WWDC视频数据类型定义
 */
/**
 * Transcript段落
 */
export interface TranscriptSegment {
    timestamp: string;
    text: string;
}
/**
 * Transcript数据
 */
export interface TranscriptData {
    fullText: string;
    segments: TranscriptSegment[];
}
/**
 * 代码示例
 */
export interface CodeExample {
    timestamp?: string;
    title?: string;
    language: string;
    code: string;
    context?: string;
}
/**
 * 资源链接
 */
export interface ResourceLink {
    title: string;
    url: string;
}
/**
 * 视频资源
 */
export interface VideoResources {
    hdVideo?: string;
    sdVideo?: string;
    sampleProject?: string;
    slides?: string;
    resourceLinks?: ResourceLink[];
}
/**
 * 相关视频
 */
export interface RelatedVideo {
    id: string;
    year: string;
    title: string;
    url: string;
}
/**
 * WWDC视频数据
 */
export interface WWDCVideo {
    id: string;
    year: string;
    url: string;
    title: string;
    speakers?: string[];
    duration: string;
    topics: string[];
    hasTranscript: boolean;
    hasCode: boolean;
    transcript?: TranscriptData;
    codeExamples?: CodeExample[];
    chapters?: Chapter[];
    resources: VideoResources;
    relatedVideos?: RelatedVideo[];
    extractedAt?: string;
}
/**
 * 视频章节
 */
export interface Chapter {
    title: string;
    timestamp: string;
    duration?: string;
}
/**
 * 年份元数据
 */
export interface YearMetadata {
    year: string;
    totalVideos: number;
    hasCodeTab: boolean;
    extractedAt: string;
    lastUpdated?: string;
}
/**
 * WWDC年份数据
 */
export interface WWDCYearData {
    metadata: YearMetadata;
    videos: WWDCVideo[];
}
/**
 * 全局元数据
 */
export interface GlobalMetadata {
    version: string;
    lastUpdated: string;
    totalVideos: number;
    topics: Array<{
        id: string;
        name: string;
        url: string;
    }>;
    years: string[];
    statistics: {
        byTopic: Record<string, number>;
        byYear: Record<string, number>;
        videosWithCode: number;
        videosWithTranscript: number;
        videosWithResources: number;
    };
}
/**
 * 主题索引
 */
export interface TopicIndex {
    id: string;
    name: string;
    videoCount: number;
    years: string[];
    videos: Array<{
        id: string;
        year: string;
        title: string;
        topics: string[];
        duration: string;
        hasCode: boolean;
        hasTranscript: boolean;
        url: string;
        dataFile: string;
    }>;
}
/**
 * 年份索引
 */
export interface YearIndex {
    year: string;
    videoCount: number;
    topics: string[];
    videos: Array<{
        id: string;
        year: string;
        title: string;
        topics: string[];
        duration: string;
        hasCode: boolean;
        hasTranscript: boolean;
        url: string;
        dataFile: string;
    }>;
}
/**
 * 完整的WWDC数据集
 */
export interface WWDCDataset {
    wwdc: Record<string, WWDCYearData>;
    globalMetadata: GlobalMetadata;
}
/**
 * 视频列表项（用于列表页提取）
 */
export interface VideoListItem {
    id: string;
    url: string;
    title: string;
    duration?: string;
    thumbnail?: string;
}
/**
 * 提取配置
 */
export interface ExtractorConfig {
    year: string;
    concurrency?: number;
    retryAttempts?: number;
    timeout?: number;
    skipExisting?: boolean;
}
/**
 * 提取进度
 */
export interface ExtractProgress {
    total: number;
    completed: number;
    failed: number;
    skipped: number;
    currentVideo?: string;
    errors: Array<{
        videoId: string;
        error: string;
    }>;
}
//# sourceMappingURL=wwdc.d.ts.map