/**
 * Teaching Module Configuration
 *
 * Centralized configuration for the teaching pipeline feature.
 * These values were previously hardcoded throughout the codebase.
 *
 * Configuration categories:
 * - Default values for fallback scenarios
 * - Limits for SQL queries and data processing
 * - Display settings for frontend presentation
 * - Timeouts for async operations
 *
 * @module config/teaching
 */
/**
 * Default pipeline configuration when detection fails or returns incomplete data.
 *
 * Rationale:
 * - ANDROID_VIEW_STANDARD_BLAST: Most common rendering pipeline on modern Android
 * - confidence 0.5: Neutral confidence indicating uncertain detection
 * - doc_path: Points to standard Android View documentation
 */
export declare const TEACHING_DEFAULTS: {
    /** Default pipeline ID when detection fails */
    readonly pipelineId: "ANDROID_VIEW_STANDARD_BLAST";
    /** Default confidence when parsing fails (0.5 = uncertain) */
    readonly confidence: 0.5;
    /** Default documentation path */
    readonly docPath: "rendering_pipelines/android_view_standard.md";
    /** Default icon for unknown pipeline types */
    readonly icon: "📱";
    /** Default family classification */
    readonly family: "android_view";
};
/**
 * Limits for SQL queries and data processing to prevent unbounded results.
 *
 * Rationale:
 * - maxActiveProcesses: 10 covers most apps, prevents huge result sets
 * - maxCandidates: 10 keeps detection focused, avoids noise
 * - maxPinInstructions: 50 supports complex pipelines while limiting memory
 * - maxKeySlices: 20 provides comprehensive coverage without overwhelming UI
 * - summaryLength: 500 chars fits in typical UI panels
 */
export declare const TEACHING_LIMITS: {
    /** Maximum active rendering processes to return from SQL */
    readonly maxActiveProcesses: 10;
    /** Maximum pipeline candidates from detection */
    readonly maxCandidates: 10;
    /** Maximum pin instructions per pipeline */
    readonly maxPinInstructions: 50;
    /** Maximum key slices to extract from documentation */
    readonly maxKeySlices: 20;
    /** Maximum summary length in characters */
    readonly summaryLength: 500;
    /** Maximum mermaid blocks to render */
    readonly maxMermaidBlocks: 5;
    /** Maximum thread roles to display */
    readonly maxThreadRoles: 20;
    /** SQL result row limit for safety */
    readonly sqlRowLimit: 1000;
};
/**
 * Display configuration for frontend presentation.
 *
 * These values control how many items are shown in various UI components.
 * Separate from processing limits as UI may show subset of available data.
 */
export declare const TEACHING_DISPLAY: {
    /** Number of top candidates to show in detection result */
    readonly candidatesToShow: 3;
    /** Number of active processes to show in summary */
    readonly processesToShow: 5;
    /** Number of tracks to log for debugging */
    readonly tracksToDebug: 50;
    /** Number of features to show in detection panel */
    readonly featuresToShow: 10;
    /** Number of recent analyses to show in history */
    readonly historyToShow: 10;
};
/**
 * Timeout configuration for async operations.
 *
 * Rationale:
 * - skillExecution: 30s allows for complex multi-step skills
 * - sqlQuery: 10s prevents hung queries from blocking
 * - documentParsing: 5s sufficient for most markdown files
 * - mermaidRendering: 5s allows for complex diagrams
 */
export declare const TEACHING_TIMEOUTS: {
    /** Skill execution timeout in milliseconds */
    readonly skillExecution: 30000;
    /** SQL query timeout in milliseconds */
    readonly sqlQuery: 10000;
    /** Document parsing timeout in milliseconds */
    readonly documentParsing: 5000;
    /** Mermaid rendering timeout in milliseconds */
    readonly mermaidRendering: 5000;
    /** API response timeout in milliseconds */
    readonly apiResponse: 60000;
};
/**
 * Step IDs used to extract results from skill execution.
 *
 * These must match the `id` fields in rendering_pipeline_detection.skill.yaml
 */
export declare const TEACHING_STEP_IDS: {
    /** Pipeline detection result step */
    readonly pipelineDetection: "pipeline_detection";
    /** Active rendering processes step */
    readonly activeProcesses: "active_rendering_processes";
    /** Frame timeline detection step */
    readonly frameTimeline: "frame_timeline_detection";
    /** Compose detection step */
    readonly composeDetection: "compose_detection";
};
/**
 * Confidence thresholds for pipeline detection quality.
 *
 * Rationale:
 * - high (0.8): Strong confidence, primary pipeline reliable
 * - medium (0.5): Acceptable confidence, may need manual verification
 * - low (0.3): Weak confidence, fallback recommended
 * - minimum (0.1): Below this, detection is unreliable
 */
export declare const CONFIDENCE_THRESHOLDS: {
    /** High confidence - detection is reliable */
    readonly high: 0.8;
    /** Medium confidence - detection acceptable */
    readonly medium: 0.5;
    /** Low confidence - consider fallback */
    readonly low: 0.3;
    /** Minimum threshold - below this is unreliable */
    readonly minimum: 0.1;
};
/**
 * Feature flags for gradual rollout and testing.
 *
 * These can be overridden via environment variables for easy rollback.
 */
export declare const TEACHING_FEATURES: {
    /** Use column-name based SQL result validation (safer) */
    readonly useSqlValidation: boolean;
    /** Use type transformation layer for snake_case → camelCase */
    readonly useTypeTransforms: boolean;
    /** Use local mermaid rendering instead of mermaid.ink */
    readonly useLocalMermaid: boolean;
    /** Enable detailed logging for debugging */
    readonly debugLogging: boolean;
    /** Enable caching for parsed documents */
    readonly enableCaching: boolean;
};
/**
 * Complete teaching module configuration.
 *
 * Usage:
 * ```typescript
 * import { TEACHING_CONFIG } from './config/teaching.config';
 *
 * const limit = TEACHING_CONFIG.limits.maxActiveProcesses;
 * const timeout = TEACHING_CONFIG.timeouts.sqlQuery;
 * ```
 */
export declare const TEACHING_CONFIG: {
    readonly defaults: {
        /** Default pipeline ID when detection fails */
        readonly pipelineId: "ANDROID_VIEW_STANDARD_BLAST";
        /** Default confidence when parsing fails (0.5 = uncertain) */
        readonly confidence: 0.5;
        /** Default documentation path */
        readonly docPath: "rendering_pipelines/android_view_standard.md";
        /** Default icon for unknown pipeline types */
        readonly icon: "📱";
        /** Default family classification */
        readonly family: "android_view";
    };
    readonly limits: {
        /** Maximum active rendering processes to return from SQL */
        readonly maxActiveProcesses: 10;
        /** Maximum pipeline candidates from detection */
        readonly maxCandidates: 10;
        /** Maximum pin instructions per pipeline */
        readonly maxPinInstructions: 50;
        /** Maximum key slices to extract from documentation */
        readonly maxKeySlices: 20;
        /** Maximum summary length in characters */
        readonly summaryLength: 500;
        /** Maximum mermaid blocks to render */
        readonly maxMermaidBlocks: 5;
        /** Maximum thread roles to display */
        readonly maxThreadRoles: 20;
        /** SQL result row limit for safety */
        readonly sqlRowLimit: 1000;
    };
    readonly display: {
        /** Number of top candidates to show in detection result */
        readonly candidatesToShow: 3;
        /** Number of active processes to show in summary */
        readonly processesToShow: 5;
        /** Number of tracks to log for debugging */
        readonly tracksToDebug: 50;
        /** Number of features to show in detection panel */
        readonly featuresToShow: 10;
        /** Number of recent analyses to show in history */
        readonly historyToShow: 10;
    };
    readonly timeouts: {
        /** Skill execution timeout in milliseconds */
        readonly skillExecution: 30000;
        /** SQL query timeout in milliseconds */
        readonly sqlQuery: 10000;
        /** Document parsing timeout in milliseconds */
        readonly documentParsing: 5000;
        /** Mermaid rendering timeout in milliseconds */
        readonly mermaidRendering: 5000;
        /** API response timeout in milliseconds */
        readonly apiResponse: 60000;
    };
    readonly stepIds: {
        /** Pipeline detection result step */
        readonly pipelineDetection: "pipeline_detection";
        /** Active rendering processes step */
        readonly activeProcesses: "active_rendering_processes";
        /** Frame timeline detection step */
        readonly frameTimeline: "frame_timeline_detection";
        /** Compose detection step */
        readonly composeDetection: "compose_detection";
    };
    readonly confidence: {
        /** High confidence - detection is reliable */
        readonly high: 0.8;
        /** Medium confidence - detection acceptable */
        readonly medium: 0.5;
        /** Low confidence - consider fallback */
        readonly low: 0.3;
        /** Minimum threshold - below this is unreliable */
        readonly minimum: 0.1;
    };
    readonly features: {
        /** Use column-name based SQL result validation (safer) */
        readonly useSqlValidation: boolean;
        /** Use type transformation layer for snake_case → camelCase */
        readonly useTypeTransforms: boolean;
        /** Use local mermaid rendering instead of mermaid.ink */
        readonly useLocalMermaid: boolean;
        /** Enable detailed logging for debugging */
        readonly debugLogging: boolean;
        /** Enable caching for parsed documents */
        readonly enableCaching: boolean;
    };
};
export type TeachingConfig = typeof TEACHING_CONFIG;
//# sourceMappingURL=teaching.config.d.ts.map