import { RangeInFileWithContents } from "../commands/util.js";
import { Range } from "../index.js";
export type AutocompleteSnippet = RangeInFileWithContents & {
    score?: number;
};
export declare function getSymbolsForSnippet(snippet: string): Set<string>;
/**
 * Calculate similarity as number of shared symbols divided by total number of unique symbols between both.
 */
export declare function jaccardSimilarity(a: string, b: string): number;
/**
 * Rank code snippets to be used in tab-autocomplete prompt. Returns a sorted version of the snippet array.
 */
export declare function rankSnippets(ranges: AutocompleteSnippet[], windowAroundCursor: string): Required<AutocompleteSnippet>[];
/**
 * Deduplicate code snippets by merging overlapping ranges into a single range.
 */
export declare function deduplicateSnippets(snippets: Required<AutocompleteSnippet>[]): Required<AutocompleteSnippet>[];
/**
 * Fill the allowed space with snippets
 */
export declare function fillPromptWithSnippets(snippets: Required<AutocompleteSnippet>[], maxSnippetTokens: number, modelName: string): Required<AutocompleteSnippet>[];
export declare function removeRangeFromSnippets(snippets: Required<AutocompleteSnippet>[], filepath: string, range: Range): Required<AutocompleteSnippet>[];
//# sourceMappingURL=ranking.d.ts.map