import { ConfigManager } from '../../config/config-manager.js';
import { SecurityConfig, SecurityScanResult, SecretFinding, VulnerabilityReport, SecuritySetupConfig, SecuritySetupResult, SecurityReport } from './types.js';
export declare class SecurityScanner {
    private configManager;
    private secretPatterns;
    constructor(configManager: ConfigManager);
    performScan(config: SecurityConfig): Promise<SecurityScanResult>;
    scanForSecrets(options: {
        scanPath: string;
        excludePaths?: string[];
        customPatterns?: string[];
    }): Promise<SecretFinding[]>;
    checkVulnerabilities(options: {
        checkNpm?: boolean;
        checkYarn?: boolean;
        severity?: string;
        autoFix?: boolean;
    }): Promise<VulnerabilityReport>;
    setupSecurityConfiguration(config: SecuritySetupConfig): Promise<SecuritySetupResult>;
    generateSecurityReport(options: {
        includeOverview: boolean;
        includeDetails: boolean;
        includeRecommendations: boolean;
    }): Promise<SecurityReport>;
    private initializeSecretPatterns;
    private scanDirectory;
    private shouldScanFile;
    private scanFile;
    private scanSourceFiles;
    private scanForCodePatterns;
    private scanDirectoryForPatterns;
    private shouldScanForCode;
    private scanFileForPatterns;
    private checkPermissions;
    private runNpmAudit;
    private parseNpmAuditDetails;
    private mergeVulnerabilityReport;
    private convertSecretsToFindings;
    private convertVulnerabilitiesToFindings;
    private mapVulnerabilitySeverity;
    private calculateSummary;
    private generateRecommendations;
    private generateOverviewSection;
    private generateDetailsSection;
    private generateRecommendationsSection;
    private categorizeFindings;
    private getCategoryTitle;
    private getSeverityEmoji;
    private createSecurityPolicy;
    private setupSecretDetection;
    private setupVulnerabilityChecks;
    private setupSecurityGitHooks;
    private setupPreCommitConfig;
    checkDataAccess(options: {
        scanPath: string;
        excludePaths: string[];
        includeWarnings: boolean;
        includeSuggestions: boolean;
    }): Promise<any[]>;
    private scanDirectoryForDataAccess;
    private shouldScanForDataAccess;
    private scanFileForDataAccess;
}
//# sourceMappingURL=scanner.d.ts.map