/**
 * MakerKit Framework Detector
 * Specialized detection logic for MakerKit framework patterns
 */
import type { createClient } from '@supabase/supabase-js';
import { DatabaseSchema } from '../strategy-interface';
type SupabaseClient = ReturnType<typeof createClient>;
export interface MakerKitDetectionResult {
    isMakerKit: boolean;
    version?: 'v2' | 'v3' | 'custom';
    confidence: number;
    detectedFeatures: MakerKitFeature[];
    missingFeatures: string[];
    recommendations: string[];
}
export interface MakerKitFeature {
    name: string;
    type: 'function' | 'table' | 'constraint' | 'trigger' | 'column';
    confidence: number;
    description: string;
}
export declare class MakerKitDetector {
    private client;
    constructor(client: SupabaseClient);
    /**
     * Comprehensive MakerKit detection
     */
    detectMakerKit(schema: DatabaseSchema): Promise<MakerKitDetectionResult>;
    /**
     * Detect MakerKit-specific database functions
     */
    private detectMakerKitFunctions;
    /**
     * Detect MakerKit table patterns
     */
    private detectMakerKitTables;
    /**
     * Detect MakerKit constraint patterns
     */
    private detectMakerKitConstraints;
    /**
     * Detect MakerKit trigger patterns
     */
    private detectMakerKitTriggers;
    /**
     * Calculate confidence score based on detected features
     */
    private calculateConfidence;
    /**
     * Determine MakerKit version based on detected features
     */
    private determineVersion;
    /**
     * Generate recommendations based on detection results
     */
    private generateRecommendations;
    /**
     * Get expected features for a MakerKit version
     */
    private getExpectedMakerKitFeatures;
}
export {};
//# sourceMappingURL=makerkit-detector.d.ts.map