import { PDG } from './pdg.js'; import { Sigma } from './sigma.js'; import { Corpus } from './corpus.js'; export declare const BANAL_PERCENTILE = 0.5; export interface FeatureContribution { feature: string; pNat: number; weight: number; count: number; mass: number; banal: boolean; } export declare class UnitReport { label: string; totalMass: number; uniqueMass: number; banalMass: number; contributions: FeatureContribution[]; constructor(label: string); get uniquenessRatio(): number; topSignature(n?: number): FeatureContribution[]; } /** * Compute the surprisal map of one PDG against a corpus. * Matches rcf_core.measure.measure_unit in Python. */ export declare function measureUnit(pdg: PDG, corpus: Corpus, label?: string, options?: { iterations?: number; banalPercentile?: number; }): UnitReport; /** * Measure every function unit in a source string. * Matches rcf_core.measure.measure_source in Python. */ export declare function measureSource(source: string, corpus: Corpus, sigma?: Sigma): UnitReport[]; /** * Measure the PROTECTED function units of a project. * Matches rcf_core.measure.measure_project in Python. */ export declare function measureProject(root: string, corpus: Corpus, sigma?: Sigma): UnitReport[]; //# sourceMappingURL=measure.d.ts.map