/**
 * Business Logic Analyzer
 * Analyzes database business logic patterns and data flows to determine optimal seeding strategies
 */
import type { createClient } from '@supabase/supabase-js';
import { BusinessLogicAnalysisResult, BusinessLogicAnalysisOptions, AnalysisRecommendation } from './business-logic-types';
type SupabaseClient = ReturnType<typeof createClient>;
export declare class BusinessLogicAnalyzer {
    private client;
    private analysisCache;
    private options;
    constructor(client: SupabaseClient, options?: Partial<BusinessLogicAnalysisOptions>);
    /**
     * Analyze business logic patterns in the database
     */
    analyzeBusinessLogic(): Promise<BusinessLogicAnalysisResult>;
    /**
     * Analyze database triggers and their functions
     */
    private analyzeTriggers;
    /**
     * Analyze individual trigger
     */
    private analyzeTrigger;
    /**
     * Analyze individual function
     */
    private analyzeFunction;
    /**
     * Parse business rules from function definition
     */
    private parseBusinessRulesFromFunction;
    /**
     * Analyze RLS policies
     */
    private analyzeRLSPolicies;
    /**
     * Extract business rules from various sources
     */
    private extractBusinessRules;
    /**
     * Check for specific business logic pattern
     */
    private checkForPattern;
    /**
     * Determine overall data flow pattern
     */
    private determineDataFlowPattern;
    /**
     * Generate recommended strategy based on analysis
     */
    private generateRecommendedStrategy;
    /**
     * Detect framework based on analysis
     */
    private detectFramework;
    /**
     * Helper methods for trigger analysis
     */
    private extractFunctionName;
    private classifyTriggerBusinessLogic;
    private triggerDependsOnAuth;
    private triggerRequiresUserContext;
    private policyAffectsSeeding;
    private policyRequiresUserContext;
    private analyzeUserCreationFlow;
    private analyzeAccountCreationFlow;
    private analyzeProfileCreationFlow;
    private identifyBusinessLogicTriggers;
    private calculateTriggerAnalysisConfidence;
    private calculateOverallConfidence;
    private fallbackTriggerAnalysis;
    private generateCacheKey;
    private cacheResult;
    /**
     * Get analysis recommendations
     */
    getRecommendations(analysisResult: BusinessLogicAnalysisResult): AnalysisRecommendation[];
    /**
     * Clear analysis cache
     */
    clearCache(): void;
}
export {};
//# sourceMappingURL=business-logic-analyzer.d.ts.map