import { SecurityAlert, SecurityCheckResult, SecurityCheckRuntimeOptions, SecurityOverride, SecurityProviderFactoryOptions } from "../../types";
import { PastoralistJSON, OverridesType } from "../../types";
export * from "./providers";
export declare class SecurityChecker {
    private static readonly DEFAULT_MEMORY_CACHE_TTL;
    private providers;
    private log;
    private cache;
    private cacheConfigHash;
    private readonly diskAlertsCache;
    private readonly strict;
    private readonly noCache;
    private readonly refreshCache;
    private readonly configuredCacheDir?;
    constructor(options: SecurityProviderFactoryOptions);
    private resolveCacheTtlMs;
    private buildCacheConfigHash;
    private createProviders;
    private isKnownSecurityProvider;
    private hasProviderSetup;
    ensureProviderAuth(providerType: string, options?: {
        debug?: boolean;
        interactive?: boolean;
    }): Promise<boolean>;
    private createProvider;
    private createOsvProvider;
    private createGitHubProvider;
    private createSnykProvider;
    private createSocketProvider;
    private createSpektionProvider;
    private createPackageManagerAuditProvider;
    private createFallbackProvider;
    private generateCacheKey;
    private generateDiskCacheKey;
    checkSecurity(config: PastoralistJSON, options?: SecurityCheckRuntimeOptions): Promise<SecurityCheckResult>;
    private runSecurityCheck;
    private emptySecurityResult;
    private reportProgress;
    private extractPackagesForScan;
    private resolveCachedAlerts;
    private cacheSecurityAlerts;
    private resolveSecurityAlerts;
    private fetchProviderAlerts;
    private normalizeProviderResult;
    private resolveVulnerablePackages;
    private filterAlertsBySeverity;
    private findWorkspaceVulnerabilitiesIfNeeded;
    private promptForOverridesIfNeeded;
    private readPackageFile;
    private isNewVulnerability;
    private createVulnerabilityKey;
    private extractNewVulnerabilities;
    private findWorkspaceVulnerabilities;
    private resolveWorkspacePackageFiles;
    private collectWorkspaceVulnerabilities;
    private addPackageVulnerabilities;
    private checkOverrideUpdates;
    private getExistingOverrides;
    private logNestedOverrideSkips;
    private getStringOverrideEntries;
    private groupPatchableAlertsByPackage;
    private buildOverrideUpdate;
    private findNewerPatch;
    private fetchLatestForVulnerablePackages;
    private generateOverrides;
    private canGenerateOverride;
    private resolveOverrideTargetVersion;
    private buildSecurityOverride;
    private buildSecurityOverrideMetadata;
    generatePackageOverrides(securityOverrides: SecurityOverride[]): OverridesType;
    private formatVulnerabilityEntry;
    private formatOverridesSection;
    formatSecurityReport(vulnerablePackages: SecurityAlert[], securityOverrides: SecurityOverride[]): string;
    private createBackup;
    private applyOverridesToPackageJson;
    applyAutoFix(overrides: SecurityOverride[], packageJsonPath?: string): string | void;
    private resolveAutoFixPackagePath;
    private readPackageJsonForAutoFix;
    private buildAutoFixedPackageJson;
    private buildUpdatedAppendix;
    private buildSecurityOverrideDetails;
    private buildSecurityOverrideDetailMetadata;
    private writePackageJson;
    private getOverrideField;
    rollbackAutoFix(backupPath: string, originalPath: string): void;
}
export * from "../../types";
export * from "./providers";
export { SecuritySetupWizard, promptForSetup, createOutput } from "./setup";
export type { SetupResult, OutputFunctions } from "./types";
