import { LineRange0Based } from './lineRange';
/**
 * A neighbor-file snippet selected via Jaccard similarity, ready to be
 * embedded into the recently_viewed_code_snippets section of the prompt.
 */
export interface INeighborFileSnippet {
    readonly uri: string;
    readonly relativePath: string | undefined;
    readonly snippet: string;
    readonly lineRange: LineRange0Based;
    readonly score: number;
}
export interface ISimilarFilesContextService {
    readonly _serviceBrand: undefined;
    /**
     * Computes GhostText-style similar files context (neighbor code snippets via Jaccard similarity).
     * @returns JSON-serialized telemetry payload, or `undefined` on any error. Never throws.
     */
    compute(uri: string, languageId: string, source: string, cursorOffset: number): Promise<string | undefined>;
    /**
     * Computes neighbor-file snippets (Jaccard-ranked) intended for inclusion in the prompt.
     * @returns Snippets ordered with best (highest scores) last, or `undefined` on any error. Never throws.
     */
    getSnippetsForPrompt(uri: string, languageId: string, source: string, cursorOffset: number): Promise<readonly INeighborFileSnippet[] | undefined>;
}
export declare const ISimilarFilesContextService: import("../../../util/common/services").ServiceIdentifier<ISimilarFilesContextService>;
export declare class NullSimilarFilesContextService implements ISimilarFilesContextService {
    readonly _serviceBrand: undefined;
    compute(): Promise<undefined>;
    getSnippetsForPrompt(): Promise<undefined>;
}
//# sourceMappingURL=similarFilesContextService.d.ts.map