/**
 * Static HIG Content Provider
 *
 * Loads pre-generated HIG content from static files with fallback to live scraping.
 */
import type { HIGResource, ApplePlatform, HIGCategory, SearchResult } from './types.js';
interface StaticContentMetadata {
    lastUpdated: string;
    totalSections: number;
    sectionsByPlatform: Record<ApplePlatform, number>;
    sectionsByCategory: Record<HIGCategory, number>;
    totalSize: number;
    generationDuration: number;
}
interface StaticSection {
    title: string;
    platform: ApplePlatform;
    category: HIGCategory;
    url: string;
    id: string;
    lastUpdated: string;
    content: string;
}
export declare class HIGStaticContentProvider {
    private contentDir;
    private searchIndex;
    private crossReferences;
    private metadata;
    private contentCache;
    private availabilityCache;
    private enhancedSearch;
    constructor(contentDir?: string);
    /**
     * Get content directory for production environments
     */
    private getProductionContentDir;
    /**
     * Initialize the static content provider
     */
    initialize(): Promise<boolean>;
    /**
     * Check if static content is available (cached for performance)
     */
    isAvailable(): Promise<boolean>;
    /**
     * Get content age in milliseconds
     */
    getContentAge(): number | null;
    /**
     * Check if content is stale (older than 6 months)
     */
    isContentStale(): boolean;
    /**
     * List all available resources
     */
    listResources(): Promise<HIGResource[]>;
    /**
     * Get content for a specific resource
     */
    getResource(uri: string): Promise<HIGResource | null>;
    /**
     * Search static content with enhanced keyword matching and synonym expansion
     */
    searchContent(query: string, platform?: ApplePlatform, category?: HIGCategory, limit?: number): Promise<SearchResult[]>;
    /**
     * Get synonym expansions for search terms
     */
    private expandQueryWithSynonyms;
    /**
     * Simple keyword search on static content (fallback when advanced search fails)
     */
    keywordSearchContent(query: string, platform?: ApplePlatform, category?: HIGCategory, limit?: number): Promise<SearchResult[]>;
    /**
     * Get a specific section by ID
     */
    getSection(sectionId: string): Promise<StaticSection | null>;
    /**
     * Get related sections for a given section ID
     */
    getRelatedSections(sectionId: string): string[];
    /**
     * Get generation metadata
     */
    getMetadata(): StaticContentMetadata | null;
    private loadMetadata;
    private loadSearchIndex;
    private loadCrossReferences;
    private getCategoryCount;
    private parseResourceURI;
    private getPlatformContent;
    private getCategoryContent;
    private getUpdatesContent;
    private getSectionsForPlatform;
    private getSectionsForCategory;
    private generateFilename;
    private parseMarkdownFile;
    private getAttributionText;
    private stringToPlatform;
    private stringToCategory;
    private formatCategoryName;
}
export {};
//# sourceMappingURL=static-content.d.ts.map