import type { SlsaLevel, SupplyChainGap, NpmProvenanceResult, SlsaProvenanceFormat } from '../../types/index.js';
export type { NpmProvenanceResult, SlsaProvenanceFormat } from '../../types/index.js';
/**
 * Detect the SLSA level of the project based on CI configuration.
 * Returns the SLSA level and whether CI workflows exist.
 */
export declare function detectSlsaLevel(projectPath: string): Promise<{
    level: SlsaLevel;
    hasCi: boolean;
    isPublishing: boolean;
    hasOidc: boolean;
}>;
/**
 * Detect which SLSA provenance format is declared in the project's attestation files.
 * SLSA v1.1 (April 2025) uses `slsa.dev/provenance/v1`.
 * Legacy projects may still use `slsa.dev/provenance/v0.2`.
 * Both are valid; v1 is preferred going forward.
 */
export declare function detectSlsaProvenanceFormat(projectPath: string): Promise<SlsaProvenanceFormat>;
/**
 * Detect npm native provenance via `npm publish --provenance` + `actions/attest-build-provenance`.
 * When both are present, the project achieves SLSA L2 without external tooling.
 * Reference: https://docs.npmjs.com/generating-provenance-statements
 */
export declare function detectNpmProvenance(projectPath: string, workflowFiles?: string[]): Promise<NpmProvenanceResult>;
/**
 * Build SLSA gaps from detection results.
 */
export declare function buildSlsaGaps(level: SlsaLevel, isPublishing: boolean, hasOidc: boolean): SupplyChainGap[];
//# sourceMappingURL=slsa-checker.d.ts.map