/**
 * Compliance Service
 * Provides unified compliance and security management functionality
 */
export interface ComplianceConfig {
    enableDataAccessValidation: boolean;
    enableSecurityLogging: boolean;
    frameworks: string[];
    dataLocalization: {
        enabled: boolean;
        defaultRegion: string;
    };
    codeOwnership: {
        enabled: boolean;
        requireCodeowners: boolean;
    };
}
export interface SecurityEvent {
    userId: number;
    roles: string[];
    action: string;
    entityType: string;
    entityId: string | number;
    timestamp: string;
    additionalData?: Record<string, any>;
}
export interface DataAccessRequest {
    userId: number;
    userTenant: string;
    roles: string[];
    operation: string;
    entityType: string;
    entityTenant: string;
    entityId: string | number;
    additionalData?: Record<string, any>;
}
export interface DataAccessResult {
    allowed: boolean;
    reason: string;
    additionalInfo?: Record<string, any>;
}
export interface CodeOwnershipAnalysis {
    files: Array<{
        path: string;
        owners: string[];
        lastModified: string;
        reviewerPredictions: string[];
    }>;
    silos: Array<{
        area: string;
        owners: string[];
        riskLevel: 'low' | 'medium' | 'high';
    }>;
    complianceScore: number;
}
export interface ComplianceReport {
    timestamp: string;
    frameworks: Array<{
        name: string;
        status: 'compliant' | 'warning' | 'non-compliant';
        score: number;
        issues: Array<{
            severity: 'low' | 'medium' | 'high' | 'critical';
            description: string;
            recommendation: string;
        }>;
    }>;
    overallScore: number;
    summary: string;
}
export declare class ComplianceService {
    private config;
    private securityEvents;
    constructor(config?: Partial<ComplianceConfig>);
    /**
     * Log a security event
     */
    logSecurityEvent(event: Omit<SecurityEvent, 'timestamp'>): Promise<void>;
    /**
     * Validate data access permissions
     */
    validateDataAccess(request: DataAccessRequest): Promise<DataAccessResult>;
    /**
     * Analyze code ownership
     */
    analyzeCodeOwnership(repositoryPath: string): Promise<CodeOwnershipAnalysis>;
    /**
     * Detect knowledge silos
     */
    detectKnowledgeSilos(repositoryPath: string): Promise<CodeOwnershipAnalysis['silos']>;
    /**
     * Predict reviewers for changes
     */
    predictReviewers(mergeRequestData: {
        changedFiles: string[];
        author: string;
        description: string;
    }): Promise<string[]>;
    /**
     * Generate compliance report
     */
    generateComplianceReport(repositoryPath: string, frameworks?: string[]): Promise<ComplianceReport>;
    /**
     * Get compliance dashboard data
     */
    getComplianceDashboardData(): Promise<{
        securityStats: {
            eventsToday: number;
            criticalIssues: number;
            complianceScore: number;
        };
        recentEvents: SecurityEvent[];
        complianceStatus: Array<{
            framework: string;
            status: string;
            score: number;
        }>;
    }>;
    /**
     * Generate dashboard CSS styles
     */
    getDashboardStyles(): string;
    private getRequiredRole;
    private calculateFrameworkScore;
    private getFrameworkIssues;
    private generateComplianceSummary;
}
export default ComplianceService;
//# sourceMappingURL=compliance-service.d.ts.map