export interface ReproduceOptions {
    cache?: Record<string, any>;
    cacheDir?: string;
    cacheFile?: string;
    strategy?: 'npm';
}
export interface ReproduceResult {
    reproduceVersion: string;
    timestamp: Date;
    os: string;
    arch: string;
    strategy: string;
    reproduced: boolean;
    attested: boolean;
    package: {
        name: string;
        version: string;
        spec: string;
        location: string;
        integrity: string;
    };
    source: {
        spec: string;
        location: string;
        integrity: string;
    };
    diff?: string;
}
export declare function reproduce(spec: string, opts?: ReproduceOptions): Promise<ReproduceResult | false>;
