/**
 * Documentation Integration System - Phase 1D
 *
 * Context-aware help, intelligent documentation links,
 * and comprehensive learning resource management.
 */
export type ValidationErrorCategory = 'component' | 'modifier' | 'runtime' | 'reactive' | 'validation';
/**
 * Documentation resource types
 */
export type DocumentationType = 'guide' | 'api-reference' | 'tutorial' | 'example' | 'video' | 'troubleshooting' | 'best-practices';
/**
 * Learning difficulty levels
 */
export type DifficultyLevel = 'beginner' | 'intermediate' | 'advanced' | 'expert';
/**
 * Documentation resource
 */
export interface DocumentationResource {
    id: string;
    title: string;
    description: string;
    type: DocumentationType;
    difficulty: DifficultyLevel;
    url: string;
    estimatedReadTime: number;
    lastUpdated: string;
    version: string;
    tags: string[];
    categories: string[];
    relatedComponents: string[];
    relatedModifiers: string[];
    prerequisites: string[];
    nextSteps: string[];
    rating: number;
    completionRate: number;
    helpfulnessScore: number;
    hasInteractiveExample: boolean;
    hasVideoContent: boolean;
    hasCodeSandbox: boolean;
    isAccessible: boolean;
    hasTranscript: boolean;
    supportedLanguages: string[];
}
/**
 * Context-aware documentation provider
 */
export interface ContextualDocumentation {
    primary: DocumentationResource;
    related: DocumentationResource[];
    quickHelp: string;
    codeExamples: {
        basic: string;
        advanced: string;
        realWorld: string;
    };
    commonPitfalls: {
        issue: string;
        solution: string;
        example: string;
    }[];
    learningPath: {
        current: DocumentationResource;
        next: DocumentationResource[];
        progress: number;
    };
}
/**
 * User learning profile for personalization
 */
export interface UserLearningProfile {
    id: string;
    skillLevel: DifficultyLevel;
    preferredLearningStyle: 'visual' | 'reading' | 'hands-on' | 'video';
    completedResources: string[];
    bookmarkedResources: string[];
    learningGoals: string[];
    weakAreas: string[];
    strongAreas: string[];
    averageReadTime: number;
    preferredDocumentationTypes: DocumentationType[];
    mostUsedComponents: string[];
    mostUsedModifiers: string[];
    enablePersonalization: boolean;
    enableProgressTracking: boolean;
    enableRecommendations: boolean;
}
/**
 * Documentation integration configuration
 */
export interface DocumentationConfig {
    defaultDifficulty: DifficultyLevel;
    preferredTypes: DocumentationType[];
    maxRelatedItems: number;
    enableLearningProfile: boolean;
    enableRecommendations: boolean;
    enableProgressTracking: boolean;
    showEstimatedTime: boolean;
    showRatings: boolean;
    showPrerequisites: boolean;
    groupByDifficulty: boolean;
    enableInlineHelp: boolean;
    enableContextualSuggestions: boolean;
    enableLearningPaths: boolean;
    enableOfflineMode: boolean;
    cacheDocumentation: boolean;
    offlineStorageLimit: number;
}
/**
 * Comprehensive documentation database
 */
export declare const documentationDatabase: Record<string, DocumentationResource>;
/**
 * Context-aware documentation provider
 */
export declare class DocumentationProvider {
    private userProfile;
    private usageStats;
    /**
     * Get contextual documentation for an error or component
     */
    getContextualDocumentation(context: {
        component?: string;
        modifier?: string;
        errorType?: string;
        category?: ValidationErrorCategory;
        userLevel?: DifficultyLevel;
    }): ContextualDocumentation | null;
    /**
     * Find relevant documentation resources
     */
    private findRelevantResources;
    /**
     * Select primary documentation resource
     */
    private selectPrimaryResource;
    /**
     * Calculate relevance score for a resource
     */
    private calculateRelevanceScore;
    /**
     * Select related resources
     */
    private selectRelatedResources;
    /**
     * Generate quick help text
     */
    private generateQuickHelp;
    /**
     * Generate contextual code examples
     */
    private generateCodeExamples;
    /**
     * Get common pitfalls for a resource
     */
    private getCommonPitfalls;
    /**
     * Generate learning path
     */
    private generateLearningPath;
    /**
     * Set user learning profile
     */
    setUserProfile(profile: UserLearningProfile): void;
    /**
     * Track resource usage
     */
    trackResourceUsage(resourceId: string): void;
    /**
     * Get personalized recommendations
     */
    getPersonalizedRecommendations(limit?: number): DocumentationResource[];
    /**
     * Calculate personalization score
     */
    private calculatePersonalizationScore;
    /**
     * Get documentation statistics
     */
    getStatistics(): {
        totalResources: number;
        resourcesByType: Record<DocumentationType, number>;
        resourcesByDifficulty: Record<DifficultyLevel, number>;
        totalUsages: number;
        averageRating: number;
        completionRates: {
            average: number;
            byDifficulty: Record<DifficultyLevel, number>;
        };
    };
    /**
     * Group resources by type
     */
    private groupResourcesByType;
    /**
     * Group resources by difficulty
     */
    private groupResourcesByDifficulty;
    /**
     * Calculate average rating
     */
    private calculateAverageRating;
    /**
     * Get completion rates
     */
    private getCompletionRates;
}
/**
 * Configure documentation integration
 */
export declare function configureDocumentationIntegration(config: Partial<DocumentationConfig>): void;
/**
 * Get current documentation configuration
 */
export declare function getDocumentationConfig(): DocumentationConfig;
declare const documentationProvider: DocumentationProvider;
/**
 * Documentation Integration utilities
 */
export declare const DocumentationIntegrationUtils: {
    /**
     * Get contextual documentation
     */
    getContextualDocumentation: (context: any) => ContextualDocumentation | null;
    /**
     * Get personalized recommendations
     */
    getRecommendations: (limit?: number) => DocumentationResource[];
    /**
     * Set user profile
     */
    setUserProfile: (profile: UserLearningProfile) => void;
    /**
     * Track resource usage
     */
    trackUsage: (resourceId: string) => void;
    /**
     * Configure integration
     */
    configure: typeof configureDocumentationIntegration;
    /**
     * Get configuration
     */
    getConfig: typeof getDocumentationConfig;
    /**
     * Get statistics
     */
    getStatistics: () => {
        totalResources: number;
        resourcesByType: Record<DocumentationType, number>;
        resourcesByDifficulty: Record<DifficultyLevel, number>;
        totalUsages: number;
        averageRating: number;
        completionRates: {
            average: number;
            byDifficulty: Record<DifficultyLevel, number>;
        };
    };
    /**
     * Get all resources
     */
    getAllResources: () => Record<string, DocumentationResource>;
    /**
     * Test documentation system
     */
    test: () => void;
};
export { documentationProvider };
//# sourceMappingURL=documentation-integration.d.ts.map