/**
 * Content detection types for page converter.
 * These types are used by pattern matchers to identify content types in HTML/JSX.
 */
/**
 * Pattern types that can be detected in HTML sections.
 */
export type DetectedPatternType = 'events' | 'blog' | 'testimonials' | 'faq' | 'gallery' | 'form' | 'header' | 'footer' | 'hero' | 'pricing' | 'features' | 'cta' | 'team' | 'contact' | 'stats' | 'logos' | 'newsletter' | 'navigation' | 'unknown';
/**
 * A signal detected in HTML that indicates a particular content type.
 */
export type DetectedSignal = {
    /** The signal identifier */
    signal: string;
    /** Confidence score 0-1 */
    confidence: number;
    /** The HTML element or pattern that triggered this signal */
    evidence?: string;
};
/**
 * Result of content detection on an HTML section.
 */
export type ContentDetectionResult = {
    /** Primary detected pattern type */
    patternType: DetectedPatternType;
    /** Confidence score 0-1 */
    confidence: number;
    /** All signals detected */
    signals: DetectedSignal[];
    /** Section type (preamble, header, content, footer) */
    sectionType: 'preamble' | 'header' | 'content' | 'footer';
    /** Suggested block kinds that match this pattern */
    suggestedBlocks?: string[];
};
/**
 * Options for content detection.
 */
export type ContentDetectionOptions = {
    /** Minimum confidence threshold (0-1) to report a pattern */
    minConfidence?: number;
    /** Whether to include all signals even if below threshold */
    includeAllSignals?: boolean;
};
/**
 * A pattern matcher function signature.
 */
export type PatternMatcher = (html: string, options?: ContentDetectionOptions) => ContentDetectionResult | null;
/**
 * Calculate combined confidence from a list of signals.
 *
 * Uses weighted average: 70% from max signal confidence, 30% from average.
 * Caps result at 0.95 to avoid over-confidence.
 *
 * @param signals - Array of detected signals with confidence scores
 * @returns Combined confidence score 0-0.95
 */
export declare function calculateCombinedConfidence(signals: DetectedSignal[]): number;
/**
 * Filter signals and check confidence threshold.
 *
 * @param signals - Array of detected signals
 * @param combinedConfidence - The calculated combined confidence
 * @param options - Content detection options
 * @returns Filtered signals, or null if below threshold
 */
export declare function filterSignalsByThreshold(signals: DetectedSignal[], combinedConfidence: number, options?: ContentDetectionOptions): DetectedSignal[] | null;
/**
 * Collection of pattern matchers organized by category.
 */
export type PatternMatcherRegistry = {
    structural: PatternMatcher[];
    events: PatternMatcher[];
    blog: PatternMatcher[];
    interactive: PatternMatcher[];
    marketing: PatternMatcher[];
};
