import { Tiktoken } from 'tiktoken/lite'; import { Injector } from '@opensumi/di'; import { LanguageParser } from '../../../languages/parser'; import { StrategyType } from '../types'; import type { ICompletionContext, ICompletionModel, MarkerItem } from '../types'; import type * as monaco from '@opensumi/ide-monaco'; export declare const addComment: (commentText?: string) => string; export declare const getMarkerByLanguage: (text: string, language: string) => string; export declare const getLanguageMarker: (language: string) => string; export declare const getPathMarker: (path: string, language: string) => string; export declare const getMarkerForSnippets: (text: string, language: string) => string; export declare const getCroppedTextByLine: (text: string, maxTokenSize: number, textTokens: Uint32Array[], reverse?: boolean) => string; /** * 裁剪字符函数 * @param text 文本内容 * @param maxTokenSize 最大 token 数量 * @param strategy 分割策略 * @param language 语言类型,按函数分割仅在 typescript/javascript/typescriptreact 中支持 * @param reverse 是否反向裁剪,即从后往前裁剪 */ export declare const getCroppedText: (text: string, maxTokenSize: number, textTokens: Uint32Array[], strategy: StrategyType | undefined, tokenizer: Tiktoken, parser?: LanguageParser, minBlockSize?: number, reverse?: boolean, token?: monaco.CancellationToken) => Promise; export declare const getBeforePrompt: (promptPriority: MarkerItem[], context: ICompletionContext, promptConfig: ICompletionModel, leftTokenSize: number, injector: Injector, token: monaco.CancellationToken) => Promise; export declare const getAfterPrompt: (context: ICompletionContext, promptConfig: ICompletionModel, injector: Injector, token: monaco.CancellationToken) => Promise; //# sourceMappingURL=prompt.d.ts.map