/**
 * WWDC Data Source Manager
 * Supports fetching data from GitHub or local file system
 */
import type { WWDCVideo, GlobalMetadata, TopicIndex, YearIndex } from '../types/wwdc.js';
export declare const DATA_SOURCE_CONFIG: {
    github: {
        readonly owner: "kimsungwhee";
        readonly repo: "apple-docs-mcp";
        readonly branch: "main";
        readonly baseUrl: "https://cdn.jsdelivr.net/gh/kimsungwhee/apple-docs-mcp@main/data/wwdc";
    };
    local: {
        dataDir: string;
    };
};
/**
 * Data source type
 */
export type DataSourceType = 'github' | 'local';
/**
 * Get data source type
 */
export declare function getDataSourceType(): Promise<DataSourceType>;
/**
 * Load global metadata
 */
export declare function loadGlobalMetadata(dataSource?: DataSourceType): Promise<GlobalMetadata>;
/**
 * Load topic index
 */
export declare function loadTopicIndex(topicId: string, dataSource?: DataSourceType): Promise<TopicIndex>;
/**
 * Load year index
 */
export declare function loadYearIndex(year: string, dataSource?: DataSourceType): Promise<YearIndex>;
/**
 * Load video data
 */
export declare function loadVideoData(videoFile: string, dataSource?: DataSourceType): Promise<WWDCVideo>;
/**
 * Batch load video data
 */
export declare function loadVideosData(videoFiles: string[], dataSource?: DataSourceType): Promise<WWDCVideo[]>;
/**
 * Get all available topics
 */
export declare function getAvailableTopics(dataSource?: DataSourceType): Promise<string[]>;
/**
 * Get all available years
 */
export declare function getAvailableYears(dataSource?: DataSourceType): Promise<string[]>;
/**
 * Clear cache
 */
export declare function clearDataCache(): void;
/**
 * Get cache statistics
 */
export declare function getDataCacheStats(): {
    size: number;
    maxSize: number;
    hitRate: string;
    hits: number;
    misses: number;
};
//# sourceMappingURL=wwdc-data-source.d.ts.map