/**
 * Acquisition service for downloading and validating research papers
 *
 * @module research/services/acquisition
 */
import { ResearchPaper } from '../types.js';
import { UnpaywallClient } from '../clients/unpaywall.js';
import { ArxivClient } from '../clients/arxiv.js';
import { AcquiredSource, FAIRScore } from './types.js';
/**
 * Configuration for acquisition service
 */
export interface AcquisitionConfig {
    /** Unpaywall client */
    unpaywall?: UnpaywallClient;
    /** arXiv client */
    arxiv?: ArxivClient;
    /** Download directory */
    downloadDir?: string;
    /** Timeout for downloads in ms */
    downloadTimeout?: number;
    /** Email for Unpaywall API */
    email?: string;
}
/**
 * Acquisition service for downloading research papers
 */
export declare class AcquisitionService {
    private unpaywall;
    private downloadDir;
    private downloadTimeout;
    constructor(config?: AcquisitionConfig);
    /**
     * Acquire a paper (download + metadata extraction)
     */
    acquire(paper: ResearchPaper): Promise<AcquiredSource>;
    /**
     * Compute SHA-256 checksum of a file
     */
    computeChecksum(filePath: string): Promise<string>;
    /**
     * Assign next REF-XXX identifier
     */
    assignRefId(existingRefs?: string[]): Promise<string>;
    /**
     * Validate FAIR compliance
     */
    validateFAIR(source: AcquiredSource): Promise<FAIRScore>;
    /**
     * Assess Findable dimension
     */
    private assessFindable;
    /**
     * Assess Accessible dimension
     */
    private assessAccessible;
    /**
     * Assess Interoperable dimension
     */
    private assessInteroperable;
    /**
     * Assess Reusable dimension
     */
    private assessReusable;
    /**
     * Download file from URL
     */
    private downloadFile;
    /**
     * Generate filename for paper
     */
    private generateFilename;
    /**
     * Scan existing REF-XXX identifiers
     */
    private scanExistingRefs;
    /**
     * Ensure directory exists
     */
    private ensureDir;
}
//# sourceMappingURL=acquisition.d.ts.map