import type { CandidateFile, OmittedContextEntry } from "@oscharko-dev/keiko-contracts/connected-context";
export interface AnnotatedCandidate {
    readonly candidate: CandidateFile;
    readonly generatedHint: boolean;
    readonly duplicate: boolean;
}
export interface FilterOptions {
    readonly minScore: number;
    readonly maxKept: number;
    readonly omitGenerated: boolean;
    readonly omitNearDuplicates: boolean;
    readonly nowMs: () => number;
}
export declare const DEFAULT_FILTER_OPTIONS: Omit<FilterOptions, "nowMs">;
export interface FilterResult {
    readonly kept: readonly CandidateFile[];
    readonly omitted: readonly OmittedContextEntry[];
}
export declare function filterCandidates(entries: readonly AnnotatedCandidate[], options: FilterOptions): FilterResult;
//# sourceMappingURL=filter.d.ts.map