/**
 * RLS Compliance Validator
 * Validates and generates detailed RLS compliance reports
 */
import type { ComplianceEngineResult, ComplianceViolation } from './rls-compliance-engine';
export interface DetailedComplianceReport {
    timestamp: string;
    overallScore: number;
    tableReports: TableComplianceReport[];
    summary: ComplianceSummary;
    recommendations: RecommendationCategory[];
    trends?: ComplianceTrend[];
}
export interface TableComplianceReport {
    table: string;
    score: number;
    status: 'compliant' | 'partial' | 'non_compliant';
    policies: PolicyReport[];
    violations: ComplianceViolation[];
    lastChecked: string;
}
export interface PolicyReport {
    name: string;
    command: string;
    roles: string[];
    expression: string;
    isSecure: boolean;
    issues: string[];
}
export interface ComplianceSummary {
    totalTables: number;
    compliantTables: number;
    partiallyCompliantTables: number;
    nonCompliantTables: number;
    totalPolicies: number;
    securityScore: number;
}
export interface RecommendationCategory {
    category: 'security' | 'performance' | 'maintenance';
    priority: 'high' | 'medium' | 'low';
    recommendations: string[];
    estimatedEffort: 'low' | 'medium' | 'high';
}
export interface ComplianceTrend {
    date: string;
    score: number;
    tablesAnalyzed: number;
    violations: number;
}
export interface ComplianceValidationOptions {
    includeHistoricalTrends: boolean;
    generateRecommendations: boolean;
    detailedPolicyAnalysis: boolean;
    exportFormat: 'json' | 'markdown' | 'html';
}
export declare class RLSComplianceValidator {
    private client;
    private validationHistory;
    constructor(client: any);
    /**
     * Generate detailed compliance report
     */
    generateDetailedReport(engineResult: ComplianceEngineResult, options?: Partial<ComplianceValidationOptions>): Promise<DetailedComplianceReport>;
    /**
     * Generate individual table compliance reports
     */
    private generateTableReports;
    /**
     * Get detailed policy reports for a table
     */
    private getTablePolicyReports;
    /**
     * Check if a policy is considered secure
     */
    private isPolicySecure;
    /**
     * Identify specific issues with a policy
     */
    private identifyPolicyIssues;
    /**
     * Calculate compliance score for a table
     */
    private calculateTableScore;
    /**
     * Determine compliance status from score
     */
    private determineComplianceStatus;
    /**
     * Generate summary from engine result and table reports
     */
    private generateSummary;
    /**
     * Generate categorized recommendations
     */
    private generateRecommendations;
    /**
     * Get unique table names from violations
     */
    private getUniqueTables;
    /**
     * Record compliance trend for historical tracking
     */
    private recordComplianceTrend;
    /**
     * Get numeric score from compliance union type
     */
    private getComplianceScore;
    /**
     * Get historical compliance trends
     */
    private getHistoricalTrends;
    /**
     * Export report in different formats
     */
    exportReport(report: DetailedComplianceReport, format?: 'json' | 'markdown' | 'html'): Promise<string>;
    /**
     * Generate markdown format report
     */
    private generateMarkdownReport;
    /**
     * Generate HTML format report
     */
    private generateHtmlReport;
}
//# sourceMappingURL=rls-compliance-validator.d.ts.map