export interface ComplianceModuleConfig {
    apiUrl: string;
    timeout?: number;
    onError?: (error: any) => void;
}
export interface ComplianceReport {
    id: string;
    organizationId: string;
    reportType: 'gdpr' | 'dpdp' | 'cert_in';
    status: 'pending' | 'completed' | 'failed';
    overallScore: number;
    complianceStatus: 'compliant' | 'non_compliant' | 'partial';
    generatedAt: Date;
    period: {
        startDate: Date;
        endDate: Date;
    };
    requirements: Array<{
        requirement: string;
        category: string;
        status: 'compliant' | 'non_compliant' | 'partial';
        score: number;
        weight: number;
        details: string;
        evidence: string[];
    }>;
    recommendations: Array<{
        priority: 'high' | 'medium' | 'low';
        category: string;
        title: string;
        description: string;
        impact: string;
        effort: string;
    }>;
    standards: string[];
}
export interface ApiSecurityScan {
    id: string;
    organizationId: string;
    fileName: string;
    fileContent: string;
    scanType: 'openapi' | 'swagger';
    status: 'pending' | 'completed' | 'failed';
    overallScore: number;
    riskLevel: 'low' | 'medium' | 'high' | 'critical';
    scanResults: {
        authenticationSecurity: any;
        inputValidation: any;
        dataExposure: any;
        securityVulnerabilities: any;
        rateLimiting: any;
    };
    recommendations: Array<{
        priority: 'high' | 'medium' | 'low';
        category: string;
        issue: string;
        recommendation: string;
        impact: string;
    }>;
    createdAt: Date;
    updatedAt: Date;
}
export interface ComplianceDashboard {
    organizationId: string;
    overallCompliance: {
        score: number;
        status: 'compliant' | 'non_compliant' | 'partial';
        trend: 'improving' | 'declining' | 'stable';
    };
    recentReports: ComplianceReport[];
    complianceByStandard: Array<{
        standard: string;
        score: number;
        status: string;
        lastAssessed: Date;
    }>;
    criticalIssues: Array<{
        category: string;
        issue: string;
        impact: string;
        priority: string;
    }>;
    recommendations: Array<{
        priority: string;
        title: string;
        description: string;
        category: string;
    }>;
}
/**
 * Compliance Module - GDPR, DPDP, and CERT-IN compliance reporting
 * Provides comprehensive compliance assessment and reporting capabilities
 */
export declare class ComplianceModule {
    private config;
    constructor(config: ComplianceModuleConfig);
    /**
     * Generate a new compliance report
     */
    generateComplianceReport(token: string, reportType: 'gdpr' | 'dpdp' | 'cert_in', period: {
        startDate: Date;
        endDate: Date;
    }): Promise<ComplianceReport>;
    /**
     * Get compliance reports with filtering options
     */
    getComplianceReports(token: string, options?: {
        reportType?: 'gdpr' | 'dpdp' | 'cert_in';
        status?: 'pending' | 'completed' | 'failed';
        page?: number;
        limit?: number;
    }): Promise<{
        reports: ComplianceReport[];
        pagination: {
            page: number;
            limit: number;
            total: number;
            pages: number;
        };
    }>;
    /**
     * Get a specific compliance report by ID
     */
    getComplianceReport(token: string, reportId: string): Promise<ComplianceReport>;
    /**
     * Get compliance dashboard data
     */
    getComplianceDashboard(token: string): Promise<ComplianceDashboard>;
    /**
     * Scan OpenAPI/Swagger specification for security issues
     */
    scanApiSpecification(token: string, file: {
        name: string;
        content: string;
        type: 'openapi' | 'swagger';
    }): Promise<ApiSecurityScan>;
    /**
     * Get API security scans
     */
    getApiSecurityScans(token: string, options?: {
        scanType?: 'openapi' | 'swagger';
        status?: 'pending' | 'completed' | 'failed';
        page?: number;
        limit?: number;
    }): Promise<{
        scans: ApiSecurityScan[];
        pagination: {
            page: number;
            limit: number;
            total: number;
            pages: number;
        };
    }>;
    /**
     * Export compliance report in various formats
     */
    exportComplianceReport(token: string, reportId: string, format?: 'pdf' | 'json' | 'csv'): Promise<{
        downloadUrl: string;
        fileName: string;
        expiresAt: Date;
    }>;
    /**
     * Get compliance status for specific standards
     */
    getComplianceStatus(token: string, standards: Array<'gdpr' | 'dpdp' | 'cert_in'>): Promise<Array<{
        standard: string;
        status: 'compliant' | 'non_compliant' | 'partial' | 'pending';
        score: number;
        lastAssessed: Date | null;
        nextAssessmentDue: Date | null;
    }>>;
}
//# sourceMappingURL=Compliance.d.ts.map