import { Decision } from "./constants.js";
import { Metafile } from "./parseTorrent.js";
import { Candidate } from "./pipeline.js";
import { RuntimeConfig } from "./runtimeConfig.js";
import { Searchee, SearcheeWithLabel } from "./searchee.js";
export interface ResultAssessment {
    decision: Decision;
    metafile?: Metafile;
    metaCached?: boolean;
}
export declare function compareFileTrees(candidate: Metafile, searchee: Searchee): boolean;
export declare function compareFileTreesIgnoringNames(candidate: Metafile, searchee: Searchee): boolean;
export declare function getPartialSizeRatio(candidate: Metafile, searchee: Searchee): number;
export declare function compareFileTreesPartial(candidate: Metafile, searchee: Searchee): boolean;
export declare function assessCandidate(metaOrCandidate: Metafile | Candidate, searchee: SearcheeWithLabel, infoHashesToExclude: Set<string>, blockList: string[], options?: {
    configOverride: Partial<RuntimeConfig>;
}): Promise<ResultAssessment>;
export declare function getCachedTorrentName(infoHash: string): string;
export declare function updateTorrentCache(oldStr: string, newStr: string): Promise<void>;
export declare const rawGuidInfoHashMap: Map<string, string>;
export declare function rebuildGuidInfoHashMap(): Promise<void>;
export declare function getGuidInfoHashMap(): Promise<Map<string, string>>;
export declare function assessCandidateCaching(candidate: Candidate, searchee: SearcheeWithLabel, infoHashesToExclude: Set<string>, guidInfoHashMap: Map<string, string>, options?: {
    configOverride: Partial<RuntimeConfig>;
}): Promise<ResultAssessment>;
